PHP Insert at particular index

前端 未结 3 341
北荒
北荒 2021-01-26 02:27

I want to move element of array present at 1st index to the 5th index in the array. How can I do that?

相关标签:
3条回答
  • 2021-01-26 03:09

    Although there are currently at least 2 valid answers to the question you asked, an array is not the right the right data structure to hold a list which has frequent changes and where ordering is important. These solutions will start to get very slow as the size of the array increases.

    The right structure would be linked list, unfortunately AFAIK the bundled PHP implementation (splDoublyLinkedList) does nto support inserts either.

    0 讨论(0)
  • 2021-01-26 03:12

    If you really mean "move", than that can be something like this

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

    Cant test it, but the idea is: We take and remove the Element at $from from the original array, than we split the rest at $to and merge all together. Maybe some index in array_slice() does not match exactly;)

    0 讨论(0)
  • 2021-01-26 03:19
    $arr[4]=$arr[0];
    unset($arr[0]);
    
    0 讨论(0)
提交回复
热议问题