我有以下陣列,其包括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