📅  最后修改于: 2023-12-03 14:45:19.910000             🧑  作者: Mango
在PHP中,通常使用循环来从数组中分离奇数和偶数元素。但是,有没有更简单、更高效的方法呢?我们可以借助PHP的内置函数来实现这一目标。
PHP中的array_filter函数可以过滤掉数组中不满足特定条件的元素。我们可以使用该函数来过滤掉奇数或偶数。
$array = [1, 2, 3, 4, 5, 6];
// 过滤掉奇数
$even = array_filter($array, function($value) {
return $value % 2 == 0;
});
// 过滤掉偶数
$odd = array_filter($array, function($value) {
return $value % 2 == 1;
});
在上面的代码片段中,我们定义了一个数组 $array
。然后,我们使用 array_filter
函数过滤掉奇数和偶数,分别将结果保存在 $even
和 $odd
变量中。
除了 array_filter
函数外,我们还可以使用 array_reduce
函数来实现同样的目标。
$array = [1, 2, 3, 4, 5, 6];
// 过滤掉奇数
$even = array_reduce($array, function($carry, $value) {
return ($value % 2 == 0) ? array_merge($carry, [$value]) : $carry;
}, []);
// 过滤掉偶数
$odd = array_reduce($array, function($carry, $value) {
return ($value % 2 == 1) ? array_merge($carry, [$value]) : $carry;
}, []);
在上面的代码片段中,我们定义了一个数组 $array
。然后,我们使用 array_reduce
函数过滤掉奇数和偶数,分别将结果保存在 $even
和 $odd
变量中。
需要注意的是,array_reduce
函数的第三个参数必须传入一个空数组,用于保存过滤后的结果。
使用 array_filter
函数和 array_reduce
函数,我们可以更简洁高效地从数组中分离奇数和偶数元素。同时,这种方法也可以用于分离其他条件的元素,只需改变函数体即可。