元の質問への回答
array_combine
キーに1つの配列を使用し、値に別の配列を使用して配列を作成するために使用できます
$array1 = array(
"slug1" => "England",
"slug2" => "France",
"slug3" => "Italy",
"slug4" => "Germany");
$array2 = array(
"slug1" => "168",
"slug2" => "215",
"slug3" => "40",
"slug4" => "55");
$final = array_combine($array2, $array1);
echo "<pre>";
print_r($final);
出力
Array
(
[168] => England
[215] => France
[40] => Italy
[55] => Germany
)
ライブデモを見る
更新された質問への回答
Update: There was something that I've missed in the question. The arrays may come in random order and in different length thus having different keys. Examples below updated.
$array1 = array(
"slug1" => "England",
"slug2" => "France",
"slug3" => "Italy",
"slug4" => "Germany");
$array2 = array (
"slug2" => 215,
"slug1" => 168,
"slug4" => 55,
"slug5" => 149,
"slug3" => 40,
"slug6" => 137);
$final = customCombine($array2, $array1);
echo "<pre>";
print_r($final);
出力
Array
(
[215] => France
[168] => England
[55] => Germany
[40] => Italy
)
使用した機能
function customCombine($keys, $arr) {
$t = array();
foreach ( $keys as $k => $val ) {
isset($arr[$k]) and $t[$val] = $arr[$k];
}
return $t;
}