回答
尝试这种情况:
$x = array(1,2,3,4,5);
$x = array_merge(array_slice($x, 0, 3), array(6), array_slice($x, 3));
print_r($x);
输出;
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 6
[4] => 4
[5] => 5
)
array_insert($array,$pos,$val); function array_insert($array,$pos,$val) { $array2 = array_splice($array,$pos); $array[] = $val; $array = array_merge($array,$array2); return $array; }
它可以做这样的:
function array_insert_value(array $array = array(), $value = null, $position = null)
{
if(empty($position))
return array_merge($array, array($value));
else
return array_merge(
array_slice($array, 0, $position),
array($value),
array_slice($array, $position)
);
}
使用array_splice
($array, $pos, 0, array($val))
。
'$ length'默认为0;而这不符合OP的要求。这将用'$ val'替换'$ pos'中的元素,而不是在'$ pos'处插入。 – NullUserException 2010-09-26 17:48:40
看看Example#2。 '$ length'为0,虽然没有记录,但会导致插入。我也在参数列表中注意到了“= 0”,它必须是一个神器。 – aib 2010-09-26 17:53:24
这正是KoolKabin所要求的,并不会取代任何元素。但是没有必要将插入的值放入数组中。此外,这个问题对我来说似乎是一个9小时老问题的完全重复:http://stackoverflow.com/questions/3797239/php-array-insert-new-item-in-any-position/3797526#3797526 – GZipp 2010-09-26 19:15:34
我喜欢这个功能。我还包括我用于测试的代码,我希望这有助于。
function chngNdx($array,$ndex,$val){
$aCount = count($array);
for($x=($aCount)-1;$x>=$ndex;$x--){
$array[($x+1)] = $array[$x];
}
$array[$ndex] = $val;
return $array;
}
$aArray = array();
$aArray[0] = 1;
$aArray[1] = 2;
$aArray[2] = 3;
$aArray[3] = 4;
$aArray[4] = 5;
$ndex = 3; // # on the index to change 0-#
$val = 6;
print("before: ".print_r($aArray)."<br />");
$aArray = chngNdx($aArray,$ndex,$val);
print("after: ".print_r($aArray)."<br />");
- 1. 如何在任意位置插入元素到列表中?
- 2. 在第n个位置插入元素
- 3. 如何从数组中移除一个元素并在PHP中插入另一个位置?
- 4. Haskell在第n个位置插入一个元素
- 5. 在特定位置插入元素
- 6. 在指定位置插入元素
- 7. Rails 3 jquery Ajax如何在propper位置插入一个新元素
- 8. 如何在HTML文档的选定位置插入元素?
- 9. QML - 如何在StackLayout中的任何位置插入一个项目?
- 10. 在PHP中的任何位置插入新项目在阵列中的任何位置
- 11. 如何在一块内存中的任意位置插入一个值?
- 12. 如何在SQL中的任何位置插入值?
- 13. 如何在uitextview中的任何光标位置插入文本?
- 14. 如何在数组中的每个元素之后插入一个新元素?
- 15. HTML&DOM:元素或节点如何插入文本中的任意位置?
- 16. 如何在另一个html元素中插入g:text对象?
- 17. 如何在STL向量矩阵中插入一个元素?
- 18. 如何设置元素的位置等于另一个元素的位置?
- 19. 页面复位插入元素时,如果有一个在
- 20. 在内容可编辑元素中设置插入位置
- 21. 如何动态地在两个元素之间插入元素?
- 22. 如何使用html子元素在contenteditable div中获取插入符的位置?
- 23. 在LinkedHashSet的第0个位置插入元素的代价?
- 24. 用jQuery在多个位置插入DOM元素
- 25. 如何在父元素中控制剖面元素的位置?
- 26. 如何对齐两个元素在同一垂直位置
- 27. 如何遵循一个元素的位置在Silverlight
- 28. 如何将元素插入特定的数组位置?
- 29. 如何在点击到另一个元素时插入新的脚本元素
- 30. 如何在XMLStarlet的另一个元素之后直接插入元素?
'array_insert()'没有在PHP中预定义。你需要自己创建它。 – BoltClock 2010-09-26 17:39:50
抱歉,我刚刚意识到我编辑了答案。 – 2010-09-26 17:42:15
这个答案是'array_insert()'的函数定义' – 2010-09-26 17:42:51