回答
嘗試這種情況:
$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