在php数组中按条件替换所有项
我有一个php数组,如:在php数组中按条件替换所有项,php,arrays,numbers,Php,Arrays,Numbers,我有一个php数组,如: $arr = [-1, 15, 6, 44, 9292, -2, -776, -6]; 实际上,任何具有负值的数组 现在我想把所有的负值换成另一个值,比如0。 结果我想得到这个: $res = [0, 15, 6, 44, 9292, 0, 0, 0]; 我怎样才能做到这一点 谢谢。您可以使用函数解析数组值: <?php $arr = [-1, 15, 6, 44, 9292, -2, -776, -6]; $newArr = []; array_walk(
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
实际上,任何具有负值的数组
现在我想把所有的负值换成另一个值,比如0。
结果我想得到这个:
$res = [0, 15, 6, 44, 9292, 0, 0, 0];
我怎样才能做到这一点
谢谢。您可以使用函数解析数组值:
<?php
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
$newArr = [];
array_walk($arr, function ($item, $key) use (&$newArr) {
$newArr[$key] = $item >= 0 ? $item : 0;
});
print_r($newArr);
用于($i=0;$i
您可以检查此库
并使用命令
$arr[$arr->lt(0)]=0代码>您可以使用数组\u映射
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
function neg($a){
return ($a > 0 ) ? $a : 0;
}
print_r(array_map("neg",$arr));
您可以使用array\u walk
功能:
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
array_walk($arr, function(&$v, $k) {
$v = ($v <0) ? 0 : $v;
});
$arr=[-1,15,6,449292,-2,-776,-6];
数组_walk($arr,函数(&$v,$k){
$v=($vArray_walk很棒,但是foreach更快,更容易理解
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
foreach($arr as $key => $value){
echo $value < 0 ? 0 : $value;
}
$arr=[-1,15,6,449292,-2,-776,-6];
foreach($arr作为$key=>$value){
echo$value<0?0:$value;
}
wow,这很有趣。所有建议的阵列图看起来都很难看,老实说。我来检查一下one@JanetDou第一次听说array\u walk()
看起来很难看。为这么简单的任务使用额外的库不是一个很好的主意。您可能需要详细说明您的答案,说明为什么这样可以解决问题
$arr = [-1, 15, 6, 44, 9292, -2, -776, -6];
foreach($arr as $key => $value){
echo $value < 0 ? 0 : $value;
}