0
votes

I have a multi dimensional array and I want to push an another array to my multi dimensional array. I have used PHP array_push() function but it's not working. So how can I add another array to my multi dimensional array? Can anyone help?

Here is my code:

$array1 = ['id', 'name', 'age'];
$array2 = [
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];

Note: I want to have $array1 value on the top.

3
explain how your final array needs to be as well. for this example what should be your output? - Iceman

3 Answers

5
votes

array_push() adds a new element to the end of the array. If you want a new element on the front instead, use array_unshift():

$array1 = ['id', 'name', 'age'];
$array2 = [
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];
array_unshift($array2, $array1);

$array2 now looks like this:

[
    ['id', 'name', 'age'],
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];
4
votes

For this issue PHP array_push(); function will not work. you have to use array_merge() to solve this and also need to create another array to keep those data.

I hope this code will solve your problem

$array1 = ['id', 'name', 'age'];
$array2 = [
    [1, 'name1', 10],
    [2, 'name2', 20],
    [3, 'name3', 30]
];

$array3 = array_merge([$array1], $array2);

echo "<pre>";
print_r($array3); 
echo "</pre>";
-2
votes

You can use array_unshift or more simple $array2 = $array1 + $array2