2014-11-27 1 views
0

나는 단지 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

[docs] (http://www.php.net/manual/en/function.array-merge-recursive.php)에서 인용 : 'array_merge_recursive - __two 이상 배열을 재귀 적으로 병합합니다 .' (필자의 강조). ... 너는 해본거야. 하나의 배열을 병합하기 ..... 당신이 달성하고자하는 것을 설명해주십시오. –

+0

추측 해 보면 :'$ result = call_user_func_array ('array_merge_recursive', $ ars);'[demo] (http : // ideone. co.kr/GzaDjy) –

답변

2

당신은 사용할 수 있습니다

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

는 PHP 5.6부터는 그에게 특별한 연산자가 :

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

0

나는 당신이 당신 자신의 질문에 대답했다고 생각합니까?

array_merge_recursive()에는 배열 유형의 두 매개 변수가 필요하므로 매개 변수를 "병합"할 수 있습니다. 정확히 하나의 배열과 병합하고 있습니까? 당신이 array_merge_recursive(); 또는 인수로 매핑 배열과 다른 함수를 호출 할 경우

관련 문제