2011-01-25 60 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)不支持插入。