繁体   English   中英

如何array_merge_recursive()一个数组?

[英]How to array_merge_recursive() an array?

我刚刚开始了解array_merge_recursive()工作方式。

有人可以告诉我如何在数组中使用此php函数吗?

我正在尝试执行以下操作:

$ars[] = array("name_a" => array("color" => array("red")));
$ars[] = array("name_a" => array("color" => array("green", "blue")));
$ars[] = array("name_b" => array("color" => array("green", "tangerine")));
$ars[] = array("name_c" => array("color" => array("purple", "blue","red")));
$ars[] = array("name_c" => array("color" => array("green", "blue","green","beige")));
$ars[] = array("name_b" => array("color" => array("green", "blue","yellow")));

$result = array_merge_recursive($ars);

由于某种我不知道的原因,这是行不通的。 它为我工作的唯一方法如下:

$ars1 = array("name_a" => array("post_id" => array("red")));
$ars2 = array("name_a" => array("post_id" => array("green", "blue")));
$ars3 = array("name_b" => array("post_id" => array("green", "blue")));
$ars4 = array("name_c" => array("post_id" => array("green", "blue","red")));
$ars5 = array("name_c" => array("post_id" => array("green", "blue","green","beige")));
$ars6 = array("name_b" => array("post_id" => array("green", "blue","yellow")));
$result = array_merge_recursive($ars1,$ars2,$ars3,$ars4,$ars5,$ars6);

因此,如何将数组放入array_merge_recursive(); 功能?

如果要调用array_merge_recursive(); 或具有映射为args的数组的任何其他函数,可以使用:

$result = call_user_func_array('array_merge_recursive', $ars);

从PHP 5.6开始,有一个特殊的运算符:

$result = array_merge_recursive(...$ars);

我认为您回答了自己的问题,不是吗?

array_merge_recursive()需要两个数组类型的参数,以便您可以“合并”它们。 您究竟要与一个阵列合并什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM