男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

array_filter

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

array_filter使用回調函數過(guò)濾數組的元素

說(shuō)明

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

遍歷 array 數組中的每個(gè)值,并將每個(gè)值傳遞給 callback 回調函數。 如果 callback 回調函數返回 true,則將 array 數組中的當前值返回到結果 array 數組中。

返回結果 array 數組的鍵名(下標)會(huì )維持不變,如果 array 參數是索引數組,返回的結果 array 數組鍵名(下標)可能會(huì )不連續。 可以使用 array_values() 函數對數組重新索引。

參數

array

要遍歷的數組

callback

使用的回調函數

如果沒(méi)有提供 callback 回調函數,將刪除數組中 array 的所有“空”元素。 有關(guān) PHP 如何判定“空”元素,請參閱 empty() 。

mode

決定哪些參數發(fā)送到 callback 回調的標志:

  • ARRAY_FILTER_USE_KEY - 將鍵名作為 callback 回調的唯一參數,而不是值
  • ARRAY_FILTER_USE_BOTH - 將值和鍵都作為參數傳遞給 callback 回調,而不是僅傳遞值
默認值為 0 ,只傳遞值作為 callback 回調的唯一參數。

返回值

返回過(guò)濾后的數組。

更新日志

版本 說(shuō)明
8.0.0 callback 現在可為空(nullable)。
8.0.0 如果 callback 接受引用傳遞參數,該方法將會(huì )拋出 E_WARNING。

范例

示例 #1 array_filter() 示例

<?php
function odd($var)
{
    
// 返回輸入整數是否為奇數(單數)
    
return $var 1;
}
function 
even($var)
{
    
// 返回輸入整數是否為偶數
    
return !($var 1);
}
$array1 = ['a' => 1'b' => 2'c' => 3'd' => 4'e' => 5];
$array2 = [6789101112];
echo 
"Odd :\n";
print_r(array_filter($array1"odd"));
echo 
"Even:\n";
print_r(array_filter($array2"even"));
?>

以上例程會(huì )輸出:

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

示例 #2 array_filter() 不使用 callback 參數時(shí)

<?php
$entry 
= [
    
=> 'foo',
    
=> false,
    
=> -1,
    
=> null,
    
=> '',
    
=> '0',
    
=> 0,
];
print_r(array_filter($entry));
?>

以上例程會(huì )輸出:

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

示例 #3 array_filter() 不使用 mode 參數時(shí)

<?php
$arr 
= ['a' => 1'b' => 2'c' => 3'd' => 4];
var_dump(array_filter($arr, function($k) {
    return 
$k == 'b';
}, 
ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v$k) {
    return 
$k == 'b' || $v == 4;
}, 
ARRAY_FILTER_USE_BOTH));
?>

以上例程會(huì )輸出:

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

注釋

警告

不應該在回調函數中改變數組(如:添加、刪除或銷(xiāo)毀“unset”當前數組和里面的元素),否則此函數的行為將不可預測。

參見(jiàn)

  • array_intersect() - 計算數組的交集
  • array_map() - 為數組的每個(gè)元素應用回調函數
  • array_reduce() - 用回調函數迭代地將數組簡(jiǎn)化為單一的值
  • array_walk() - 使用用戶(hù)自定義函數對數組中的每個(gè)元素做回調處理

男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站