2011-01-25 4 views
0

Я хочу переместить элемент массива, присутствующий в 1-м индексе, в 5-й индекс в массиве. Как я могу это сделать?PHP Вставка с определенным индексом

+0

Думайте, если вам это действительно нужно –

+0

@YourCommonSense - неудивительно, что ваша учетная запись временно приостановлена. lol –

ответ

2

Если вы на самом деле означает «движение», чем это может быть что-то вроде этого Cant теста

$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

Не будет работать с ассоциативным массивом –

+0

Позвольте мне попробовать этот код –

+0

@Mark: Я знаю, но ассоциативные массивы не являются списками и не имеют индексов (в значении «index»). – KingCrunch

2

Хотя в настоящее время, по крайней мере 2 действительных ответы на вопрос, который вы просили, массив не является правильным правом структуры данных для хранения списка, который имеет частый изменения и порядок заказа. Эти решения начнут становиться очень медленными по мере увеличения размера массива.

Правильная структура была бы связана с перечнем, к сожалению, AFAIK связанная реализация PHP (splDoublyLinkedList) делает nto поддержку вставок.

+0

благодарит за информацию –

Смежные вопросы