0

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.

1
  • 1
    explain how your final array needs to be as well. for this example what should be your output? Commented Apr 20, 2017 at 20:05

3 Answers 3

5

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]
];
Sign up to request clarification or add additional context in comments.

Comments

4

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 Comments

$array3 = array_merge([$array1], $array2); check your print_r().
Whoops I missed to wrap $array1 in to another array. Thanks Abra Cadaver
-2

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.