Как array_merge_recursive () массив?

Я только начинаю понимать, как 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(); функционировать?

0

Решение

Если вы хотите позвонить array_merge_recursive(); или любую другую функцию с массивом, отображаемым как аргументы, которые вы можете использовать:

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

Начиная с PHP 5.6 для этого есть специальный оператор:

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

2

Другие решения

Я думаю, что вы ответили на свой вопрос, не так ли?

Для array_merge_recursive () требуются два параметра типа массива, чтобы вы могли «объединить» их. что именно вы сливаете с одним массивом?

0

По вопросам рекламы [email protected]