-2

I have this situation

$array2 = array();

    for($i=1;$i<=3;$i++){
        $key_page_number = $key."?page=".$i;
        $key_page_number = $this->get_page_with_check_error($key_page_number);
        preg_match_all("~<div class=\"desc-zone\">\s*<a\sitemprop=\"url\"\shref=\"(.*?)\"~", $key_page_number, $product_urls);  
        $array2[] = $product_urls[1];
        }

And my array2 looks like this

[1] => Array(
  [0] => something
  [1] => something
)
[2] => Array(
  [0] => something
  [1] => something
)
[3] => Array(
  [0] => something
  [1] => something
)

I want to my array2 looks like this

[1] => Array(
  [0] => something
  [1] => something
  [2] => something
  [3] => something
  [4] => something
  [5] => something
)

How i can merge this elements of array?

  • Use [`array_merge()`](http://php.net/manual/en/function.array-merge.php) instead of `$array2[] = ...` – Blue Oct 10 '18 at 20:08
  • looks like a copy of https://stackoverflow.com/questions/16153100/reduce-the-dimensions-of-a-multidimensional-array `$array2 = call_user_func_array('array_merge', $array2);` – Alex Tank Oct 10 '18 at 20:15
  • Possible duplicate of [Reduce the dimensions of a multidimensional array](https://stackoverflow.com/questions/16153100/reduce-the-dimensions-of-a-multidimensional-array) – pretzelhammer Oct 11 '18 at 03:33
  • Possible duplicate of [PHP - How to merge arrays inside array](https://stackoverflow.com/questions/17041278/php-how-to-merge-arrays-inside-array) – Gabriel M Oct 11 '18 at 05:25

1 Answers1

0
<?php

$data = 
[
    [
        'foo',
    ],
    [
        'bar'
    ]
];

$first_key       = array_keys($data)[0];
$out[$first_key] = array_merge(...$data);
var_export($out);

Output:

array (
    0 => 
    array (
      0 => 'foo',
      1 => 'bar',
    ),
  )
Progrock
  • 7,373
  • 1
  • 19
  • 25