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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。