PHP: array |
您所在的位置:网站首页 › php中array函数 › PHP: array |
array_filter
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8) array_filter — 使用回调函数过滤数组的元素 说明 array_filter(array $array, ?callable $callback = null, int $mode = 0): array遍历 array 数组中的每个值,并将每个值传递给 callback 回调函数。 如果 callback 回调函数返回 true,则将 array 数组中的当前值返回到结果 array 数组中。 返回结果 array 数组的键名(下标)会维持不变,如果 array 参数是索引数组,返回的结果 array 数组键名(下标)可能会不连续。 可以使用 array_values() 函数对数组重新索引。 参数array 要遍历的数组 callback使用的回调函数 如果没有提供 callback 回调函数,将删除数组中 array 的所有“空”元素。 有关 PHP 如何判定“空”元素,请参阅 empty() 。 mode决定哪些参数发送到 callback 回调的标志: ARRAY_FILTER_USE_KEY - 将键名作为 callback 回调的唯一参数,而不是值 ARRAY_FILTER_USE_BOTH - 将值和键都作为参数传递给 callback 回调,而不是仅传递值 默认值为 0 ,只传递值作为 callback 回调的唯一参数。 返回值返回过滤后的数组。 更新日志 版本 说明 8.0.0 callback 现在可为空(nullable)。 8.0.0 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 示例
示例 #1 array_filter() 示例 以上示例会输出: Odd : Array ( [a] => 1 [c] => 3 [e] => 5 ) Even: Array ( [0] => 6 [2] => 8 [4] => 10 [6] => 12 )示例 #2 array_filter() 不使用 callback 参数时 以上示例会输出: Array ( [0] => foo [2] => -1 )示例 #3 array_filter() 不使用 mode 参数时 以上示例会输出: array(1) { ["b"]=> int(2) } array(2) { ["b"]=> int(2) ["d"]=> int(4) } 注释 警告不应该在回调函数中改变数组(如:添加、删除或销毁“unset”当前数组和里面的元素),否则此函数的行为将不可预测。 参见array_intersect() - 计算数组的交集 array_map() - 为数组的每个元素应用回调函数 array_reduce() - 用回调函数迭代地将数组简化为单一的值 array_walk() - 使用用户自定义函数对数组中的每个元素做回调处理 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |