PHP Insert at particular index
I want to move elemen开发者_C百科t of array present at 1st index to the 5th index in the array. How can I do that?
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 not support inserts either.
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;)
$arr[4]=$arr[0];
unset($arr[0]);
精彩评论