所以我有一个整数值的集合,它是根据另一个函数的结果构建的,该函数每次都可以有不同的值。在 PHP 中考虑以下内容:
$arr = [0,0,2,2,0,0,0,3,3];
我需要转换成:
$newArr = [null,0,2,2,0,null,0,3,3];
我想要完成的是:如果一个值 > 0,它的邻居应该是 0,其余的应该是 null。
这里最好的策略是什么?
最佳答案
使用运算符优先级:
$zero = true;
$arr = [0,0,2,2,0,0,0,3,3];
$newArr = [];
foreach($arr as $k=>$v) {
if ($v) {
$newArr[] = $v;
$zero = false;
} else {
if ($zero and isset($arr[$k+1]) && !$arr[$k+1] || !isset($arr[$k+1]))
$newArr[] = null;
else
$newArr[] = 0;
$zero = true;
}
}
print_r($newArr);
关于php - 用周围的 null,0 替换数组中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278378/