dans ce cas, $value ne vaut pas 'test', mais un tableau a deux entrées [0] = 'a' et [1] = 'test'
Pour moi, c'est le comportement normal. Pour avoir 'test' dans $value, il faut faire:
foreach( $arr as $key=>$value ) { print_r( $value ); }
CrazyCat
Etienne SOBOLE wrote:
suis je seul a avoir remarqué que la version 4.3.10 du php gére différement le foreach ? $arr = array('a' => 'test'); foreach($arr as $value) { print_r($value); } dans ce cas, $value ne vaut pas 'test', mais un tableau a deux entrées [0] = 'a' et [1] = 'test' C'est quoi ce bordel?
Aucune idée de la version qui a pu provoquer ce changement car je ne l'ai jamais constaté. Pour ma part, si ma variable est un tableau, j'utilise: foreach ($arr as $key => $value) { $$key = $value print_r($key); }
Cela me semble bien plus logique, ton utilisation étant plutot à réserver pour des définitions du type: $arr = array('a', 'test');
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
Etienne SOBOLE wrote:
suis je seul a avoir remarqué que la version
4.3.10 du php gére différement le foreach ?
$arr = array('a' => 'test');
foreach($arr as $value)
{
print_r($value);
}
dans ce cas, $value ne vaut pas 'test', mais un tableau a deux entrées [0] =
'a' et [1] = 'test'
C'est quoi ce bordel?
Aucune idée de la version qui a pu provoquer ce changement car je ne
l'ai jamais constaté.
Pour ma part, si ma variable est un tableau, j'utilise:
foreach ($arr as $key => $value) {
$$key = $value
print_r($key);
}
Cela me semble bien plus logique, ton utilisation étant plutot à
réserver pour des définitions du type:
$arr = array('a', 'test');
--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net
suis je seul a avoir remarqué que la version 4.3.10 du php gére différement le foreach ? $arr = array('a' => 'test'); foreach($arr as $value) { print_r($value); } dans ce cas, $value ne vaut pas 'test', mais un tableau a deux entrées [0] = 'a' et [1] = 'test' C'est quoi ce bordel?
Aucune idée de la version qui a pu provoquer ce changement car je ne l'ai jamais constaté. Pour ma part, si ma variable est un tableau, j'utilise: foreach ($arr as $key => $value) { $$key = $value print_r($key); }
Cela me semble bien plus logique, ton utilisation étant plutot à réserver pour des définitions du type: $arr = array('a', 'test');
-- Découvrez Original War: http://www.original-war.org Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
Vincent Lascaux
Pour moi, c'est le comportement normal. Pour avoir 'test' dans $value, il faut faire:
foreach( $arr as $key=>$value ) { print_r( $value ); }
array('a', 'b') est équivalent à array(0 => 'a', 1 => 'b'); Que devrait afficher le programme suivant:
$arr = array('a', 'b'); foreach($arr as $v) print_r( $arr );
? -- Vincent
Pour moi, c'est le comportement normal. Pour avoir 'test' dans $value, il
faut faire:
foreach( $arr as $key=>$value ) {
print_r( $value );
}
array('a', 'b') est équivalent à array(0 => 'a', 1 => 'b');
Que devrait afficher le programme suivant:
$arr = array('a', 'b');
foreach($arr as $v)
print_r( $arr );