什么是创建一个(无序索引)数组的最佳方法,使用下一个索引值到当前索引。我尝试使用next()但没有帮助。我的意思是:
Array
(
[0] => a
[8] => b
[2] => c
[7] => d
[9] => e
[11] => f
)
所以,我希望将这些数据作为以下形式的数组。
Array
(
[0] => Array
(
[current] => a
[next] => b
)
[8] => Array
(
[current] => b
[next] => c
)
[2] => Array
(
[current] => c
[next] => d
)
[7] => Array
(
[current] => d
[next] => e
)
[9] => Array
(
[current] => e
[next] => f
)
[11] => Array
(
[current] => f
[next] =>
)
)
什么是最快的方式来做到这一点?
foreach($arr as $k => $v) $arr[$k] = ["current" => $v, "next" => (isset($arr[$k+1]) ? $arr[$k+1]: "")];
这段代码的作用是将数组$arr
中的每一个元素拆分成当前元素和下一个元素,并将其组成一个新数组。这个操作可以通过引用实现,使得原数组同时得到更新。 - Rizier123$k == 0
时,$k+1
会给你1
而不是8
(实际上是下一个)。 - al'ein