2011-01-25 121 views
0

我想將存在於第一個索引處的數組元素移至數組中的第五個索引處。我怎樣才能做到這一點?在特定索引處插入PHP

+0

想一想,如果你真的需要這個 – 2011-01-25 13:21:52

+0

@YourCommonSense - 難怪你的賬戶暫時中止。大聲笑 – 2012-06-01 13:56:36

回答

2

如果你真的是「動」,較能是這樣的

$from = 1; 
$to = 5; 
$el = $array[$from]; 
unset($array[$from]); 
$array = array_merge (
    array_slice($array,0,$to), 
    array($el), 
    array_slice($array,$to)); 

不能測試它,但這個想法是:我們需要在$from從原始數組中刪除的元素,比我們將其餘的分成$to併合並在一起。也許在array_slice()一些指標不完全匹配;)

+0

將無法​​使用關聯數組 – 2011-01-25 12:53:16

0
$arr[4]=$arr[0]; 
unset($arr[0]); 
2

雖然目前有至少2個到你問的問題的有效答案,數組是不舉行具有頻繁名單的權利的數據結構改變和訂購的地方很重要。隨着陣列尺寸的增加,這些解決方案將開始變得非常慢。

正確的結構將鏈接列表,不幸的是AFAIK捆綁的PHP實現(splDoublyLinkedList)不支持插入。

相關問題