There is an array

Array ( [0] => Array ( [idwallets] => 100 [wallet] => 38068569756ф [sum] => 14500 ) [1] => Array ( [idwallets] => 101 [wallet] => + 3255454555 [sum] => 14500 ) [2] => Array ( [idwallets] => 102 [wallet] => 3255455445 [sum] => 14500 ) [3] => Array ( [idwallets] => 103 [wallet] => 32554554522 [sum] => 14500 ) 

and the second array

 Array ( [0] => Array ( [idwallets] => 9 [wallet] => +380685697562 [sum] => 2000 ) ) 

I need to add the second one to the end of the first one, I do it via array_merge() but there is a problem, my first array is in the $var1 variable, the second in $var2 , if I do $var1 = array_merge($var1, $var2); then an empty array comes in, and if I do $var3 = array_merge($var1, $var2) then $var3 returns what I need, and I need the function to return $var1

UPDATE- gave examples of arrays. Here are the arrays, var1 merged I assign a value with the variable Variable merged , but as a result Variable merged remains with the data and var1 merged an empty array

 var1 before = Array ( [0] => Array ( [idwallets] => 100 [wallet] => 38068569756ф [sum] => 14500 ) ) var2 before = Array ( [0] => Array ( [idwallets] => 54 [wallet] => 380685697563 [sum] => 10500 ) ) var1 merged = Array ( ) Variable merged = Array ( [0] => Array ( [idwallets] => 100 [wallet] => 38068569756ф [sum] => 14500 ) [1] => Array ( [idwallets] => 54 [wallet] => 380685697563 [sum] => 10500 ) ) 

    1 answer 1

    Solution options

    1) Use an additional variable, and then reassign it

     $var3 = array_merge($var1, $var2); $var1 = $var3; 

    2) Use option 1 but in its function

     function my_array_merge(&$base, $addend) { $var3 = array_merge($var1, $var2); $var1 = $var3; return $var1; } 

    3) Use array_push or []

     foreach ($var2 as $item) $var1[] = $item; 

    UPDATE The author of the question was misleading. Here is the code

     $var1 = [ [1, 1], [2, 2], [3, 3] ]; $var2 = [ [5, 5], [6, 6] ]; echo 'var1 = '; print_r($var1); echo 'var2 = '; print_r($var2); $var1 = array_merge($var1, $var2); echo 'var1(merged) = '; print_r($var1); 

    It is perfectly executed and outputs such result

     var1 = Array ( [0] => Array ( [0] => 1 [1] => 1 ) [1] => Array ( [0] => 2 [1] => 2 ) [2] => Array ( [0] => 3 [1] => 3 ) ) var2 = Array ( [0] => Array ( [0] => 5 [1] => 5 ) [1] => Array ( [0] => 6 [1] => 6 ) ) var1(merged) = Array ( [0] => Array ( [0] => 1 [1] => 1 ) [1] => Array ( [0] => 2 [1] => 2 ) [2] => Array ( [0] => 3 [1] => 3 ) [3] => Array ( [0] => 5 [1] => 5 ) [4] => Array ( [0] => 6 [1] => 6 ) ) 
    • The first version tried, does not work! Now I will try through the function - rodgers
    • @rodgers what does "not work" mean? - Anton Shchyrov
    • When I make an assignment with another variable, it returns an empty array - rodgers
    • @rodgers provide code with var_dump() output of arrays before merging and after. See the update of my answer. Everything works with standard array_merge() - Anton Shchyrov
    • Here are examples - rodgers