Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在一个变量中合并两个数组?_Php_Arrays - Fatal编程技术网

Php 如何在一个变量中合并两个数组?

Php 如何在一个变量中合并两个数组?,php,arrays,Php,Arrays,我有一个由两个数组组成的数组,我正试图将它们合并为一个数组。我的数组位于一个变量$arr,var\u dump中,其如下所示: array (size=2) 0 => array (size=1) 0 => string 'onetag' (length=6) 1 => array (size=1) 0 => string 'anothertag' (length=10) array (size=2) 0 =>

我有一个由两个数组组成的数组,我正试图将它们合并为一个数组。我的数组位于一个变量
$arr
var\u dump
中,其如下所示:

array (size=2)
  0 => 
    array (size=1)
      0 => string 'onetag' (length=6)
  1 => 
    array (size=1)
      0 => string 'anothertag' (length=10)
array (size=2)
  0 => string 'onetag' (length=6)
  1 => string 'anothertag' (length=10)
应用
$marr=array\u merge($arr)
似乎没有任何作用。我试图让合并的数组看起来像这样,或者在
var\u dump
时像这样:

array (size=2)
  0 => 
    array (size=1)
      0 => string 'onetag' (length=6)
  1 => 
    array (size=1)
      0 => string 'anothertag' (length=10)
array (size=2)
  0 => string 'onetag' (length=6)
  1 => string 'anothertag' (length=10)
尝试:

尝试:

使用下面的代码

$arr = array_column($arr,0);
var_dump($arr);
输出:

array (size=2)
  0 => string 'onetag' (length=6)
  1 => string 'anothertag' (length=10)
使用下面的代码

$arr = array_column($arr,0);
var_dump($arr);
输出:

array (size=2)
  0 => string 'onetag' (length=6)
  1 => string 'anothertag' (length=10)

array\u merge
将至少两个数组作为参数,并将它们合并为一个。您只传递了一秒,没有第二秒来合并第一个。您希望使用
$arr[0]
$arr[1]
的所有元素创建一个数组。因此,您必须合并
$arr[0]
$arr[1]
如下:
array\u merge($arr[0],$arr[1])

下面是一个简单的foreach循环:

$marr = array();
foreach ($arr as $key => $value) {
    $marr = array_merge($marr, $arr[$key]);
}

array\u merge
将至少两个数组作为参数,并将它们合并为一个。您只传递了一秒,没有第二秒来合并第一个。您希望使用
$arr[0]
$arr[1]
的所有元素创建一个数组。因此,您必须合并
$arr[0]
$arr[1]
如下:
array\u merge($arr[0],$arr[1])

下面是一个简单的foreach循环:

$marr = array();
foreach ($arr as $key => $value) {
    $marr = array_merge($marr, $arr[$key]);
}

检查内爆函数检查内爆函数谢谢,可以,但是如果我不知道
$arr
数组中有多少个数组,该怎么办?可以有1到10或20个阵列。我只是举了两个例子。那么我如何设置它呢?只需将它包装在foreach循环中并连续合并它们。谢谢,这样做很有效,但是如果我不知道
$arr
数组中有多少个数组呢?可以有1到10或20个阵列。我只是举了两个例子。我该如何设置它呢?只需将它包装在foreach循环中并连续合并。如果它对你有效,请接受此答案@Arthur Tarasovit,我必须等待5分钟:)如果它对你有效,请接受此答案@Arthur Tarasovit,我必须等待5分钟:)