私は、次の配列を有するID:配列のIDを値の対応するものと置き換えるより良い方法はありますか?
[Key1] => 1
[Key2] => 2, 3
私はこの二番目の配列からのそれぞれの名前でこれらのIDを交換したい
:
[0] => Array
(
[ID] => 1
[Name] => Name1
)
[1] => Array
(
[ID] => 2
[Name] => Name2
)
[2] => Array
(
[ID] => 3
[Name] => Name3
所望の出力:
[Key1] => Name1
[Key2] => Name2, Name3
私は以下のコードを使用していますが、これは正しい方法ではないことが分かります。誰かが私にこれを達成するためのよりよい方法を教えてもらえれば、それは非常に感謝しています。あなたが巣にいくつかのループを必要とする
$var1 = explode(", ", $array1["Key1"]); // No need to explode in this example but "Key1" sometimes includes more than 1 ID
$var2 = explode(", ", $array1["Key2"]);
$array1["Key1"] = $var1 ; // This row is for the new array generated from "explode" to be a sub-array
$array1["Key2"] = $var2 ; // Same
for ($i = 0; $i < 83; $i++){
if($array1["Key1"][0] == $array2[$i]["ID"]){
$array1["Key1"][0] = $array2[$i]["Name"];
}
if($array1["Key1"][1] == $array2[$i]["ID"]){
$array1["Key1"][1] = $array2[$i]["Name"];
}
// (etc)
if($array1["Key2"][0] == $array2[$i]["ID"]){
$array1["Key2"][0] = $array2[$i]["Name"];
}
if($array1["Key2"][1] == $array2[$i]["ID"]){
$array1["Key2"][1] = $array2[$i]["Name"];
}
// (etc)
}
$var1 = implode(", ", $array1["Key1"]);
$var2 = implode(", ", $array1["Key2"]);
$array1["Key1"] = $var1 ;
$array1["Key2"] = $var2 ;
Adrienは以下の答えを確認します。 –
うわー!誰かがすべての答えを嫌う。 – AbraCadaver
誰かが何の説明もせずにすべての答えを下落させたのは不思議です。私の質問に答える時間をとった皆さん、ありがとう、私は今夜テストをします:) – Adrien