0

I have one question: How can I push two arrays into one array, so scheme should look like:

array1 = array("element1", element2, "element3");
array2 = array("element4", element5, "element6");

[0] => FinalArray
        (
            [0] => array1[] => 
                      (
                            [0] = element1
                            [1] = element2
                            [2] = element3
                      )
            [1] => array2[] =>
                      (
                            [0] = element4
                            [1] = element5
                            [2] = element6
                      )
        )

I tried use array_push() or array_merge() but without success.

Thanks for hints.

Marek

2
  • $FinalArray = array($array1, $array2); Commented Apr 11, 2016 at 11:43
  • Try this [$array1, $array2]. Commented Apr 11, 2016 at 11:45

5 Answers 5

3

First of all create the array

$superArray = array();

then add your arrays in the array

$superArray[] = $array1;

$superArray[] = $array2;

And you should be ok ;)

Hope this helped,

Sign up to request clarification or add additional context in comments.

1 Comment

The answer with superArray was super helpfull :) I dont understand how I cannot do it -_- Thanks to everyone
3

Try below method.

<?php
$array1 = array("element1", element2, "element3");
$array2 = array("element4", element5, "element6");

$finalArray =  array($array1,$array2);
print_r($finalArray);
?>

Output:

Array
(
    [0] => Array
        (
            [0] => element1
            [1] => element2
            [2] => element3
        )

    [1] => Array
        (
            [0] => element4
            [1] => element5
            [2] => element6
        )

)

Check code and result in link: Answer

Comments

2

Try with

METHOD 1

$final = array("finalArray"=>array($array1,$array2));

OUTPUT

Array
(
    [finalArray] => Array
        (
            [0] => Array
                (
                    [0] => element1
                    [1] => element2
                    [2] => element3
                )

            [1] => Array
                (
                    [0] => element4
                    [1] => element5
                    [2] => element6
                )

        )

)

METHOD 2

$final = array_merge(array($array1),array($array2));

OUTPUT

 Array
(
    [0] => Array
        (
            [0] => element1
            [1] => element2
            [2] => element3
        )

    [1] => Array
        (
            [0] => element4
            [1] => element5
            [2] => element6
        )

)

Comments

1

Try $finalArray = [$array1, $array2];

Comments

1

What you want is called a multi-dimensional array and is explained in the PHP documentation. You create an array and then set the values of that array to be arrays as well. You can go as deep as you need, the only limit is the available RAM. To create a multidimensional array you set your key and then another array as the value, such as this example:

$finalArray = array(
    0 => array (
        0 => "element1",
        1 => "element2",
        2 => "element3"
    ),
    1 => array (
        0 => "element4",
        1 => "element5",
        2 => "element6"
    ),
);

Of course the keys are entirely optional in that example, I included them for clarity.

You can create the child arrays as separate variables first if you wish. For example:

$array1 = array (
    0 => "element1",
    1 => "element2",
    2 => "element3"
);
$array2 = array (
    0 => "element4",
    1 => "element5",
    2 => "element6"
);
$finalArray = array(
    $array1,
    $array2
);

I've done an eval.in example so you can see that they both output the same results.

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.