在不更改其他数组键的情况下将元素添加到数组的开头

mTu*_*ran 25 php arrays

如何在不更改PHP中的数组键值的情况下将元素添加到数组的开头?

小智 74

要保持数字键不被重新索引,您只需将数组添加到一起即可.

代替:

array_unshift($arr1, $arr2)
Run Code Online (Sandbox Code Playgroud)

尝试:

$arr1 = $arr2 + $arr1;
Run Code Online (Sandbox Code Playgroud)

  • 我总是避免以这种方式添加数组,而是支持`array_merge`,但现在我有合理的理由使用它.谢谢! (2认同)

Mar*_*ngs 24

如果使用自分配(例如文字)键,array_unshift()将执行此操作.
如果您使用自动生成(数字)键,该怎么办?使用'-1'作为新的第一个键?

编辑:
感谢JasonS指出这个答案中的错误.
任何数字键都将被重新编入索引array_unshift(),无论是自动生成还是自我分配 - 如果它是数字,它将被加扰.有关详细信息,请参阅上面文档的链接.


aul*_*ron 7

使用array_unshift().(如上所述,它将保持您的字符串键完整,但不是数字键).