如何将所有键值合并到php中的单个数组中

时间:2017-07-10 08:56:43

标签: php arrays

我有一个如下所示的数组值,

Array ( [0] => ["f","a","s","d"] [1] => ["d","b","a","c"] [2] => ["c"])

并且我想要像下面提到的那样合并数组值

Array ( [0] => ["f","a","s","d","d","b","a","c","c"])

所有键值应合并在一个新的数组键

5 个答案:

答案 0 :(得分:2)

您可以将初始数组作为参数传递给call_user_func_array并使用array_merge

$arr = Array (["f","a","s","d"],["d","b","a","c"],["c"]);
print_r(call_user_func_array('array_merge', $arr));

对于支持可变参数的php版本(因为 5.6 ),它更简单:

print_r(array_merge(...$arr));

答案 1 :(得分:2)

在PHP 5.6版本中,您可以使用更好的方法来完成此操作。 PHP 5.6添加了新功能,解包了名为splat operater(...)的数组:

$arr = Array (["f","a","s","d"],["d","b","a","c"],["c"]);
$result = array_merge(...$arr);

答案 2 :(得分:1)

方式1:

$result = array_reduce($arr, 'array_merge', array());

方式2:

$result = call_user_func_array('array_merge', $arr);

方式3:

   foreach ($arr as $key => $value) {
      array_merge($result,$value);
   }

获得结果后,您必须:       作为字符串存储:

 $tmp[] = implode(",",$result);
  print_r($tmp);

 or as array:
 $tmp[] = result;

答案 3 :(得分:0)

您可以使用array_merge http://php.net/manual/en/function.array-merge.php合并数组,并在其中发送您拥有的数组数组

答案 4 :(得分:0)

如你所说,

带循环。

$var = Array (["f","a","s","d"] ,["d","b","a","c"],["c"]) ;
$temp =[];
foreach ($var as $key => $value) {
   foreach ($value as $key_1 => $value_1) {
      array_push($temp, $value_1);
   }
}
print_r([$temp]);