Как вставить элемент в начале массива в PHP? - PullRequest
126 голосов
/ 16 ноября 2009

Я знаю, как вставить его в конец:

$arr[] = $item;

а как вставить в начало?

Ответы [ 8 ]

222 голосов
/ 16 ноября 2009

Использовать array_unshift ($ array, $ item);

$arr = array('item2', 'item3', 'item4');
array_unshift($arr , 'item1');
print_r($arr);

даст вам

Array
(
 [0] => item1
 [1] => item2
 [2] => item3
 [3] => item4
)
82 голосов
/ 13 мая 2013

В случае ассоциативного массива или нумерованного массива, где вы не хотите изменять ключи массива:

$firstItem = array('foo' => 'bar');

$arr = $firstItem + $arr;

array_merge не работает, так как всегда переиндексирует массив.

6 голосов
/ 16 ноября 2009

Использование функции array_unshift

3 голосов
/ 13 мая 2013

Используйте array_unshift () , чтобы вставить первый элемент в массив.

Пользователь array_shift () для удаления первого элемента массива.

3 голосов
/ 16 ноября 2009

Это поможет

http://www.w3schools.com/php/func_array_unshift.asp

array_unshift();
2 голосов
/ 06 апреля 2018

Вставить элемент в начало ассоциативного массива со строкой / пользовательским индексным ключом

<?php

$array = ['keyOne'=>'valueOne', 'keyTwo'=>'valueTwo'];

$array = array_reverse($array);

$array['newKey'] = 'newValue';

$array = array_reverse($array);

РЕЗУЛЬТАТ

[
  'newKey' => 'newValue',
  'keyOne' => 'valueOne',
  'keyTwo' => 'valueTwo'
]
2 голосов
/ 03 марта 2015

Или вы можете использовать временный массив, а затем удалить реальный, если хотите изменить его во время цикла:

$array = array(0 => 'a', 1 => 'b', 2 => 'c');
$temp_array = $array[1];

unset($array[1]);
array_unshift($array , $temp_array);

вывод будет:

array(0 => 'b', 1 => 'a', 2 => 'c')

и когда вы делаете это в цикле, вы должны очистить $temp_array после добавления элемента в массив.

0 голосов
/ 10 ноября 2017

С пользовательским индексом:

$arr=array("a"=>"one", "b"=>"two");
    $arr=array("c"=>"three", "d"=>"four").$arr;

    print_r($arr);
    -------------------
    output:
    ----------------
    Array
    (
    [c]=["three"]
    [d]=["four"]
    [a]=["two"]
    [b]=["one"]
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...