I ont le tableau ci-dessous qui comprend id:Quelle est une meilleure façon de remplacer les ID dans un tableau avec leur valeur contrepartie?
[Key1] => 1
[Key2] => 2, 3
Je souhaite remplacer ces identificateurs par leur nom respectif à partir de ce second réseau:
[0] => Array
(
[ID] => 1
[Name] => Name1
)
[1] => Array
(
[ID] => 2
[Name] => Name2
)
[2] => Array
(
[ID] => 3
[Name] => Name3
La sortie souhaitée:
[Key1] => Name1
[Key2] => Name2, Name3
J'ai le code suivant qui fonctionne mais je sais que ce n'est pas la bonne façon. Si quelqu'un pouvait me dire quel serait le meilleur moyen d'y parvenir, ce serait grandement apprécié.
Qu'est-ce que mon code ressemble:
$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 vérifier la réponse ci-dessous. –
Wow! Quelqu'un déteste TOUTES les réponses. – AbraCadaver
C'est bizarre que quelqu'un ait rabaissé toutes les réponses sans aucune explication. Un grand merci à tous ceux qui ont pris le temps de répondre à ma question, je vais faire quelques tests ce soir :)! – Adrien