여기 템플릿 배열을 사용하여 출력 순서를 정의 할 수있는 대체 솔루션입니다. 누락 된 입력란은 null
또는 지정된대로 채워집니다. 이 예에서 first
및 last
필드는 ---
으로 채워집니다.
숫자 키에 대한 이전 대답에서 강조 표시된 텍스트를 기록해 두십시오.
function array_merge_template($array1, $array2, $template, $fill=null) {
$_template = array_fill_keys($template, $fill);
return array_intersect_key (array_replace ($_template, array_merge($array1, $array2)) , $_template);
}
입력 :
$array1 = ['username' =>'abc', 'level' =>'admin', 'status' =>'active', 'foo'=>'x'];
$array2 = ['level' =>'root', 'status' =>'active', 'username' =>'bcd', 'bar'=>'y'];
$template = ['first','level','foo','username','bar','status','last'];
출력 :
/* array_merge($array1,$array2) */
[
"username" => "bcd",
"level" => "root",
"status" => "active",
"foo" => "x",
"bar" => "y"
]
/* array_merge_template($array1,$array2,$template,'---') */
[
"first" => "---",
"level" => "root",
"foo" => "x",
"username" => "bcd",
"bar" => "y",
"status" => "active",
"last" => "---"
]
당신은 그것을 시도 간단한에 의해 자신에게 5 분을 구원받은 수 –