How to insert an item at the beginning of an array in PHP?

PhpArrays

Php Problem Overview


I know how to insert it to the end by:

$arr[] = $item;

But how to insert it to the beginning?

Php Solutions


Solution 1 - Php

Use array_unshift($array, $item);

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

will give you

Array
(
 [0] => item1
 [1] => item2
 [2] => item3
 [3] => item4
)

Solution 2 - Php

In case of an associative array or numbered array where you do not want to change the array keys:

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

$arr = $firstItem + $arr;

array_merge does not work as it always reindexes the array.

Solution 3 - Php

Insert an item in the beginning of an associative array with string/custom key

<?php

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

$array = array_reverse($array);

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

$array = array_reverse($array);

RESULT

[  'newKey' => 'newValue',  'keyOne' => 'valueOne',  'keyTwo' => 'valueTwo']

Solution 4 - Php

For an associative array you can just use merge.

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

Solution 5 - Php

There are two solutions:

  1. if you have array with keys that matter to you
$new = ['RLG' => array(1,2,3)];
$array = ['s' => array(2,3), 'l' => [], 'o' => [], 'e' => []];

$arrayWithNewAddedItem = array_merge($new, $array);
  1. if you have an array without any keys.
array_unshift(array, value1);

Solution 6 - Php

Use array_unshift() to insert the first element in an array.

Use array_shift() to remove the first element of an array.

Solution 7 - Php

Or you can use temporary array and then delete the real one if you want to change it while in cycle:

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

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

the output will be:

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

and when are doing it while in cycle, you should clean $temp_array after appending item to array.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionwebView Question on Stackoverflow
Solution 1 - PhpTrav LView Answer on Stackoverflow
Solution 2 - PhptiheView Answer on Stackoverflow
Solution 3 - PhpManish DhruwView Answer on Stackoverflow
Solution 4 - PhppictoruView Answer on Stackoverflow
Solution 5 - PhpFarid shahidiView Answer on Stackoverflow
Solution 6 - PhpVinit KadkolView Answer on Stackoverflow
Solution 7 - PhpArnas PečelisView Answer on Stackoverflow