Reputation: 455
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
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
Reputation: 793
You can use array_unshift
or more simple $array2 = $array1 + $array2
Upvotes: -2
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