Php 仅选择字符串/数组中所需的元素
我有这样一个数组Php 仅选择字符串/数组中所需的元素,php,arrays,Php,Arrays,我有这样一个数组$arr=array(2,-3,6,1) 我只想选择正数,以便将它们之间的其他数相加 所以我写了这段代码,但我对如何选择元素有点迷茫,我只想用它们做些事情,比如求和 $sum = implode(",", $arr); for($i = 0; $i <= strlen($sum); $i++) { if($i <= 0) { } else { return explode(",", array_sum($i)); } } }
$arr=array(2,-3,6,1)代码>
我只想选择正数,以便将它们之间的其他数相加
所以我写了这段代码,但我对如何选择元素有点迷茫,我只想用它们做些事情,比如求和
$sum = implode(",", $arr);
for($i = 0; $i <= strlen($sum); $i++) {
if($i <= 0) {
} else {
return explode(",", array_sum($i));
}
}
}
$sum=内爆(“,”,$arr);
对于($i=0;$i使用array\u fliter过滤值,使用array\u sum对数组求和
array_sum(array_filter($array, function($v){return $v>0;});
使用array\u fliter筛选值,使用array\u sum对数组求和
array_sum(array_filter($array, function($v){return $v>0;});
将数组_过滤器与回调函数一起使用,如下所示:
<?php
$arr = array(2, -3, 6, 1);
function positive($a){
if($a > 0){
return $a;
}
}
$newArr = array_sum(array_filter($arr, "positive"));
print_r($newArr);
?>
使用带有回调函数的数组过滤器,如下所示:
<?php
$arr = array(2, -3, 6, 1);
function positive($a){
if($a > 0){
return $a;
}
}
$newArr = array_sum(array_filter($arr, "positive"));
print_r($newArr);
?>
使用array\u reduce
:
$arr = array(2, -3, 6, 1);
$result = array_reduce($arr, function($c, $i) { return $i > 0 ? $c + $i : $c; });
echo $result;
使用数组\u reduce
:
$arr = array(2, -3, 6, 1);
$result = array_reduce($arr, function($c, $i) { return $i > 0 ? $c + $i : $c; });
echo $result;
“选择”是什么意思?使用array\u filter
,无需使用显式循环:@GrumpyCrouton我编辑了标题。很抱歉,我只想在数组中选择我想要的元素。并将其他元素相加。你说的“选择”是什么意思?使用array\u filter
,无需使用显式循环:@GrumpyCrouton我编辑了标题。很抱歉,我只想能够在数组中选择我想要的元素。并将其他元素相加。谢谢你的回答。但我不知道这是如何工作的。我有$arr=array(2,-3,6,1);谢谢你的回答。但我不知道这是怎么回事。我有$arr=array(2,-3,6,1);