【发布时间】:2018-11-13 20:27:09
【问题描述】:
我有一个这样的数组...
[0,0,23,0,0,18,0,0]
那我想把不是'0'(23&18)的值改成自增,所以最终的结果会是这样的,
[0,0,1,0,0,2,0,0]
有没有最好的方法? 到目前为止,这就是我所做的,但结果并不像预期的那样...... :)
<?php
$arr = [0,0,23,0,0,18,0,0];
$x = 1;
$r = collect($arr)->map(function ($value, $key)use($x) {
if ($value == 0) {
return $value;
} else {
return $x++;
}
})->all();
dd($r);
【问题讨论】:
-
到目前为止你尝试了什么?
-
给我们看一些代码!
-
如果你增加23,那不就变成24了吗?
-
出于好奇...收集功能是什么?
-
@dnFer 我想可能是this。