malheureusement je peux pas le construire dès le début car c'est un parse d'un fichier xml que je transforme ensuite en array php avec :
1 2
| $xml = simplexml_load_string(file_get_contents('mon_fichier_xml.xml'));
$xml = xml2phpArray($xml, array()); |
En plus, toujours dans le même ordre d'idée, y'a vraimen un truc étrange qui se passe !
je pars maintenant de 2 array :
1 2 3 4 5 6 7 8
|
Array1
(
[62] => Catégorie 62
[64] => Catégorie 64
[86] => Catégorie 86
[67] => Catégorie 67
) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
Array2
(
[0] => Array
(
[id_categorie] => 62
[ref] => 12
[titre] => Mon titre 12
)
[1] => Array
(
[id_categorie] => 62
[ref] => 3
[titre] => Mon titre 3
)
[2] => Array
(
[id_categorie] => 64
[ref] => 11
[titre] => Mon titre 11
)
[3] => Array
(
[id_categorie] => 86
[ref] => 5
[titre] => Mon titre 5
)
[4] => Array
(
[id_categorie] => 87
[ref] => 7
[titre] => Mon titre 7
)
) |
J'ai créé un code qui devrai normalement me donner au final :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
ArrayFinal
(
[62] => Array
(
[12] => Mon titre 12
[3] => Mon titre 3
)
[64] => Array
(
[11] => Mon titre 11
)
[86] => Array
(
[5] => Mon titre 5
)
[67] => Array
(
[7] => Mon titre 7
)
) |
Voici mon code :
1 2 3 4 5 6 7 8 9 10
|
if ($Array1 && $Array2) {
foreach($Array1 As $Key_1 => $Value_1) {
foreach($Array2 As $Key_2 => $Value_2) {
if ($Key_1 == $Value_2["id_categorie"]) {
$ArrayFinal[$Key_1][$Value_2["ref"]] = $Value_2["titre"];
}
}
}
} |
Malheureusement, la condition
if ($Key_1 == $Value_2["id_categorie"])
ne passe pas cette étape et donc ne charge pas la contenu !
j'ai même essayé de passe un intval(), tel que :
if (intval($Key_1) == int($Value_2["id_categorie"]))
Mais idem, ça ne fonctionne toujours pas avec cette condition ! pourtant les valeurs de sortie existent bien pour $Key_1 et $Value_2["id_categorie"]
je sais pas quoi penser !
Merci pour votre aide !
Partager