Hướng dẫn php filter array by key value - mảng lọc php theo giá trị khóa

(Php 4> = 4.0.6, Php 5, Php 7, Php 8)

Array_Filter - Lọc các thành phần của một mảng bằng hàm gọi lạiFilters elements of an array using a callback function

Sự mô tả

mảng_filter (mảng $array,? có thể gọi $callback = null, int $mode = 0): mảng(array $array, ?callable $callback = null, int $mode = 0): array

Các phím mảng được bảo tồn và có thể dẫn đến các khoảng trống nếu array được lập chỉ mục. Mảng kết quả có thể được tái phát bằng hàm mảng_Values ​​().array can be reindexed using the array_values() function.

Thông số

array

Mảng để lặp lại

callback

Chức năng gọi lại để sử dụng

Nếu không có callback được cung cấp, tất cả các mục trống của array sẽ bị xóa. Xem trống () để biết cách PHP định nghĩa trống trong trường hợp này.empty() for how PHP defines empty in this case.

Array
(
    [0] => foo
    [2] => -1
)
2

Cờ xác định những đối số nào được gửi đến callback:

  • Array
    (
        [0] => foo
        [2] => -1
    )
    
    4 - Pass Key làm đối số duy nhất cho callback thay vì giá trị
    - pass key as the only argument to callback instead of the value
  • Array
    (
        [0] => foo
        [2] => -1
    )
    
    6 - Chuyển cả giá trị và khóa làm đối số cho callback thay vì giá trị
    - pass both value and key as arguments to callback instead of the value
Mặc định là
Array
(
    [0] => foo
    [2] => -1
)
8 sẽ chuyển giá trị làm đối số duy nhất cho callback thay thế.

Trả về giá trị

Trả về mảng được lọc.

Thay đổi

Phiên bảnSự mô tả
8.0.0 mảng_filter (mảng $array,? có thể gọi $callback = null, int $mode = 0): mảng
8.0.0 Các phím mảng được bảo tồn và có thể dẫn đến các khoảng trống nếu array được lập chỉ mục. Mảng kết quả có thể được tái phát bằng hàm mảng_Values ​​().
array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
2
.

Thông số

arrayarray_filter() example

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
3

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
4

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
5

Mảng để lặp lại

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

callbackarray_filter() without callback

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
7

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
8

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
9

Mảng để lặp lại

Array
(
    [0] => foo
    [2] => -1
)

callbackarray_filter() with

Array
(
    [0] => foo
    [2] => -1
)
2

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
7

$array2

$array3

Mảng để lặp lại

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}

callback

Chức năng gọi lại để sử dụng

Nếu không có callback được cung cấp, tất cả các mục trống của array sẽ bị xóa. Xem trống () để biết cách PHP định nghĩa trống trong trường hợp này.

Array ( [0] => foo [2] => -1 ) 2

  • Cờ xác định những đối số nào được gửi đến callback:
  • Array
    (
        [0] => foo
        [2] => -1
    )
    
    4 - Pass Key làm đối số duy nhất cho callback thay vì giá trị
  • Array
    (
        [0] => foo
        [2] => -1
    )
    
    6 - Chuyển cả giá trị và khóa làm đối số cho callback thay vì giá trị
  • Mặc định là
    Array
    (
        [0] => foo
        [2] => -1
    )
    
    8 sẽ chuyển giá trị làm đối số duy nhất cho callback thay thế.

Trả về giá trị

Trả về mảng được lọc.

$array4

Thay đổi

Phiên bản

$array5

$array6

$array7

$array8

$array9

$callback0

callback bây giờ là vô hiệu.

Nếu callback mong đợi một tham số được truyền qua tham chiếu, chức năng này bây giờ sẽ phát ra một

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}
2.

$callback1

$callback2

$callback3

$callback0

Ví dụ

Ví dụ #1 Array_filter () ví dụ

$callback5

$callback6

$callback7

$callback8

$callback9

$callback0

Ví dụ trên sẽ xuất ra:

Ví dụ #2 mảng_filter () mà không có callback

null1

null2

null3

null4

null5

null6

null7

null8

null9

$mode0

$callback0

Ví dụ #3 mảng_filter () với

Array
(
    [0] => foo
    [2] => -1
)
2

Ghi chú

$mode2

$mode3

$callback0

Thận trọng

Nếu mảng được thay đổi từ chức năng gọi lại (ví dụ: phần tử được thêm, đã xóa hoặc giải phóng), hành vi của hàm này không được xác định.

$mode5

$mode6

$mode7

$mode8

$callback0

Xem thêm

Array_Intersect () - Tính toán giao điểm của mảng

array0

array1

array2

array3

array4

Làm thế nào để lọc mảng bằng khóa trong PHP?

Nếu bạn muốn lọc mảng dựa trên phím mảng, chúng tôi cần sử dụng mảng_filter_use_key làm tham số thứ ba của hàm mảng mảng_filter. $ get_key_res = mảng_filter ($ mảng, "get_key", mảng_filter_use_key);use ARRAY_FILTER_USE_KEY as third parameter of array function array_filter. $get_key_res = array_filter($array,"get_key",ARRAY_FILTER_USE_KEY );

Làm thế nào để lọc mảng đa chiều theo giá trị khóa trong PHP?

Hàm php mảng_filter () lọc các phần tử của một mảng bằng hàm gọi lại và nó có thể được sử dụng cho nhiều mục đích.Hàm Array_Filter () cung cấp một cách ngắn và đơn giản để lọc mảng đa chiều theo khóa và giá trị.array_filter() function filters elements of an array by a callback function and it can be used for many purposes. The array_filter() function provides a short and simple way to filter multidimensional array by key and value.

Làm thế nào để lọc một mảng trong PHP?

Hàm mảng_filter () lọc các giá trị của một mảng bằng hàm gọi lại.Hàm này chuyển từng giá trị của mảng đầu vào đến hàm gọi lại.Nếu hàm gọi lại trả về true, giá trị hiện tại từ đầu vào được trả lại vào mảng kết quả.Các phím mảng được bảo tồn.. This function passes each value of the input array to the callback function. If the callback function returns true, the current value from input is returned into the result array. Array keys are preserved.

Làm thế nào kiểm tra mảng trống hoặc không trong PHP?

Sử dụng chức năng đếm: Hàm này đếm tất cả các phần tử trong một mảng.Nếu số lượng phần tử trong mảng bằng 0, thì nó sẽ hiển thị mảng trống.....
Sử dụng hàm sizeof (): Phương pháp này kiểm tra kích thước của mảng.Nếu kích thước của mảng bằng 0 thì mảng trống nếu không thì mảng không trống ..