php实例

关注公众号 jb51net

关闭
首页 > 网络编程 > PHP编程 > php实例 > php array_filter()函数

php中的array_filter()函数的使用

作者:Byte Beat

php中的array_filter()函数用于筛选数组中的元素,并返回一个新的数组,新数组的元素是所有返回值为true的原数组元素,本文给大家介绍php中的array_filter()函数的使用,感兴趣的朋友跟随小编一起看看吧

函数概述

array_filter()函数是一个用于过滤数组中元素的函数,它会返回一个新的数组,新数组中的元素是由原数组中的元素所依照某个条件筛选而来。根据官方文档的定义,它的语法如下:

array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )

其中,$array表示待过滤的原数组,$callback是可选的回调函数参数,$flag是可选的掩码参数。

php中的array_filter()函数用于筛选数组中的元素,并返回一个新的数组,新数组的元素是所有返回值为true的原数组元素。array_filter()函数的使用语法如下:

array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array

其中,参数说明如下:

示例如下:

$array = [1, 2, 3, 4, 5];
$newArray = array_filter($array, function($value){
return $value % 2 == 0;
});
print_r($newArray);

上述代码将输出:

Array
(
[1] => 2
[3] => 4
)

其中,通过回调函数判断数组元素是否为偶数,筛选出所有的偶数元素,返回新数组。

PHP函数array_filter

array_filter迭代数组中每个元素到一个自定义函数,保留返回true的值到一个新的结果数组中。

/**
 * Iterates over each value in the <b>array</b>
 * passing them to the <b>callback</b> function.
 * If the <b>callback</b> function returns true, the
 * current value from <b>array</b> is returned into
 * the result array. Array keys are preserved.
 * @link https://php.net/manual/en/function.array-filter.php
 * @param array $input <p>
 * The array to iterate over
 * </p>
 * @param callback $callback [optional] <p>
 * The callback function to use
 * </p>
 * <p>
 * If no callback is supplied, all entries of
 * input equal to false (see
 * converting to
 * boolean) will be removed.
 * </p>
 * @param int $flag [optional] <p>
 * Flag determining what arguments are sent to <i>callback</i>:
 * </p><ul>
 * <li>
 * <b>ARRAY_FILTER_USE_KEY</b> - pass key as the only argument
 * to <i>callback</i> instead of the value</span>
 * </li>
 * <li>
 * <b>ARRAY_FILTER_USE_BOTH</b> - pass both value and key as
 * arguments to <i>callback</i> instead of the value</span>
 * </li>
 * </ul>
 * @return array the filtered array.
 * @meta
 */
function array_filter(array $input, $callback = null, $flag = 0) { }

 示例一:默认不定义回调函数

$array = [
    3, false, 0, '',null
];
$result = array_filter($array);
var_dump($result);
//结果
//array(1) {
//    [0] =>
//  int(3)
//}

示例二:定义函数,返回等于0的元素

$array = [
    3, false, 0, '',null
];
$result = array_filter($array, function ($v){
    return $v === 0;
});
var_dump($result);
//结果
//array(1) {
//    [2] =>
//  int(0)
//}

示例三:传递第三个参数,返回键等于1的元素

$array = [
    3, false, 0, '',null
];
$result = array_filter($array, function ($k){
    return $k === 1;
}, ARRAY_FILTER_USE_KEY);
var_dump($result);
//结果
//array(1) {
//    [1] =>
//  bool(false)
//}

示例四:传递第三个参数,返回键等于1且值等于false的元素

$array = [
    3, false, 0, '',null
];
$result = array_filter($array, function ($v, $k){
    return $k === 1 && $v === false;
}, ARRAY_FILTER_USE_BOTH);
var_dump($result);
//结果
//array(1) {
//    [1] =>
//  bool(false)
//}

到此这篇关于php中的array_filter()函数的文章就介绍到这了,更多相关php array_filter()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文