PHP在特定索引处插入

时间:2011-01-25 12:46:12

标签: php arrays

我想将第一个索引处的数组元素移动到数组中的第五个索引。我怎么能这样做?

3 个答案:

答案 0 :(得分: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()中的某些索引不完全匹配;)

答案 1 :(得分:2)

虽然目前对您提出的问题至少有2个有效答案,但数组不是正确的数据结构,用于保存频繁更改且排序很重要的列表。随着阵列大小的增加,这些解决方案将开始变得非常缓慢。

正确的结构将是链表,不幸的是AFAIK捆绑的PHP实现(splDoublyLinkedList)也不支持插入。

答案 2 :(得分:0)

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