Я только начинаю понимать, как 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();
или любую другую функцию с массивом, отображаемым как аргументы, которые вы можете использовать:
$result = call_user_func_array('array_merge_recursive', $ars);
Начиная с PHP 5.6 для этого есть специальный оператор:
$result = array_merge_recursive(...$ars);
Я думаю, что вы ответили на свой вопрос, не так ли?
Для array_merge_recursive () требуются два параметра типа массива, чтобы вы могли «объединить» их. что именно вы сливаете с одним массивом?