PHP中的內置函數用於通過用戶定義的函數(也稱為回調函數)來過濾數組的元素。 array_filter()函數遍曆數組中的每個值,並將它們傳遞給用戶定義的函數或回調函數。如果回調函數返回true,則將數組的當前值返回到結果數組中,否則不返回。這樣可以保留數組的鍵,即原始數組和輸出數組中元素的鍵相同。
用法:
array array_filter($array, $callback_function, $flag)
參數:該函數具有三個參數,其中一個是必需參數,另外兩個是可選參數。
- $array(強製性):這是指要對其執行過濾操作的輸入數組。
- $callback_function(可選):指用戶定義的函數。如果未提供函數,則將刪除數組中等於FALSE的所有條目。
- $flag(可選):引用傳遞給回調函數的參數。
- ARRAY_FILTER_USE_KEY-將key作為唯一參數傳遞給回調函數,而不是數組的值。
- ARRAY_FILTER_USE_BOTH-將值和鍵都作為參數而不是值傳遞給回調。
返回值:該函數返回過濾後的數組。
下麵的程序顯示了如何使用array_filter()函數從數組中返回或過濾掉偶數元素。
<?php
// PHP function to check for even elements in an array
function Even($array)
{
// returns if the input integer is even
if($array%2==0)
return TRUE;
else
return FALSE;
}
$array = array(12, 0, 0, 18, 27, 0, 46);
print_r(array_filter($array, "Even"));
?>
輸出:
Array ( [0] => 12 [1] => 0 [2] => 0 [3] => 18 [5] => 0 [6] => 46 )
在此示例中,我們將不傳遞回調函數,而讓我們看一下輸出。我們將看到未打印0或false元素:
<?php
// PHP function to check for even elements in an array
function Even($array)
{
// returns if the input integer is even
if($array%2==0)
return TRUE;
else
return FALSE;
}
$array = array(12, 0, 0, 18, 27, 0, 46);
print_r(array_filter($array));
?>
輸出:
Array ( [0] => 12 [3] => 18 [4] => 27 [6] => 46 )
參考: http://php.net/manual/en/function.array-filter.php
相關用法
- p5.js nfc()用法及代碼示例
- p5.js nfp()用法及代碼示例
- d3.js d3.hcl()用法及代碼示例
- p5.js nfs()用法及代碼示例
- PHP cos( )用法及代碼示例
- PHP sin( )用法及代碼示例
- p5.js nf()用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP pow( )用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- d3.js d3.set.has()用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
注:本文由純淨天空篩選整理自Chinmoy Lenka大神的英文原創作品 PHP | array_filter() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。