Pousser la valeur de tableau multidimensionnel à l'intérieur d'une boucle foreach
J'ai un tableau construit à partir d'une requête de base de données. Sur la base des valeurs posuition avec le tableau j'ai besoin de lui attribuer un autre fil.
J'ai pensé à une instruction if dans une boucle foreach serait la voie à suivre, mais je vais avoir quelques difficultés.
Ci-dessous mon code......
$test = array(
array("test", 1),
array("test2", 2),
array("test4", 4),
array("test5", 5),
array("test3", 3),
array("test6", 6)
);
foreach($test as $t) {
if($t[1]==1){
array_push($t, "hello World");
}
}
print_r$test);
Tout coutures pour des travaux autres que le array_push. Si je print_r($test) après la boucle, rien n'a été ajouté.
Suis-je en train de faire quelque chose rapidement stupide ici?...
C'est ce que je reçois si je print_r($test)
Array
(
[0] => Array
(
[0] => test
[1] => 1
)
[1] => Array
(
[0] => test2
[1] => 2
)
[2] => Array
(
[0] => test4
[1] => 4
)
[3] => Array
(
[0] => test5
[1] => 5
)
[4] => Array
(
[0] => test3
[1] => 3
)
[5] => Array
(
[0] => test6
[1] => 6
)
)
Je serais attend le test 1 pour avoir un 3ème valeur qu'il s'appelle "hello world"
Vous devez vous connecter pour publier un commentaire.
Boucle Foreach fonctionne avec une copie d'un tableau. C'est pourquoi, si vous souhaitez modifier le tableau d'origine, vous devez utiliser une référence.
Pas votre ne fait rien apporte absolument stupide. Mais si vous voulez changer le tableau
$test
de l'intérieur d'une boucle foreach vous devez passer comme une référence.