Saifur Rahman
Saifur Rahman

Reputation: 455

PHP multi dimensional array pushing is not working

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.

Upvotes: 0

Views: 153

Answers (3)

Giulio Bambini
Giulio Bambini

Reputation: 4755

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>";

Upvotes: 4

Mojo Allmighty
Mojo Allmighty

Reputation: 793

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

Upvotes: -2

Alex Howansky
Alex Howansky

Reputation: 53601

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]
];

Upvotes: 5

Related Questions