Hướng dẫn how to filter array by key in php? - làm thế nào để lọc mảng theo khóa trong php?

(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

$callback4

$callback5

$callback0

Ví dụ

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

$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ộ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 tôi có thể lọc trong PHP?

Hàm Filter_var () Hàm Filter_var () Chức năng cả xác thực và vệ sinh dữ liệu.Hàm filter_var () lọc một biến duy nhất với bộ lọc được chỉ định.Phải mất hai phần dữ liệu: biến bạn muốn kiểm tra.filter_var() Function The filter_var() function both validate and sanitize data. The filter_var() function filters a single variable with a specified filter. It takes two pieces of data: The variable you want to check.

PHP có phải là một mảng không?

Hàm is_array () kiểm tra xem một biến có phải là một mảng hay không.Hàm này trả về true (1) nếu biến là một mảng, nếu không nó sẽ trả về sai/không có gì.. This function returns true (1) if the variable is an array, otherwise it returns false/nothing.