数组:
A-B-C-D-E-F
J是C的儿子。 更新数组所以:
A-B-C-J-D-E-F
如何在数组中插入C后的J?
我还将数组映射到一个循环中(用于显示的注释数组)。这种方法需要很长时间才能完成吗?
答案 0 :(得分:71)
您可以使用$ length设置为0的array_splice()。
http://de.php.net/manual/en/function.array-splice.php
示例:
$arr_alphabet = array('a', 'b', 'd');
array_splice($arr_alphabet, 2, 0, 'c');
// $arr_alphabet is now: array('a', 'b', 'c', 'd');
答案 1 :(得分:16)
使用拼接功能解决此问题。
答案 2 :(得分:7)
对于那些遇到问题的人......我发现@Pekka的解决方案最终返回一个NULL数组,因为array_splice返回由提取的元素组成的数组(http://de.php.net/manual/en/function.array-splice.php)。
如下更准确:
$arr_alphabet = array('a', 'b', 'd');
array_splice($arr_alphabet, 2, 0, 'c');
print_r($arr_alphabet);
返回:
Array ( [0] => a [1] => b [2] => c [3] => d )
但是感谢@Pekka让我获得95%的胜利!
答案 3 :(得分:6)
答案 4 :(得分:0)
我编写了一个函数,可以在指定的索引处插入数组:
function array_insert(&$arr, $index, $val)
{
if (is_array($val))
array_splice($arr, $index, 0, [$index => $val]);
else
array_splice($arr, $index, 0, $val);
}
它也适用于多维数组,但仅适用于数字键。