par
zevy » 27 juil. 2007, 14:26
Suite à un bug dans notre application, et après qq heures de recherche, nous avons extrait le bout de code suivant. Et là, quel étonnement. La fonction in_array() nous renvoi vrai alors que les valeurs testées sont bel et bien différentes... Démonstration :
<?php
$a = '00100100100100640514';
$b = '00100100100100640512';
$c = array();
array_push($c, $b);
echo "in_array sans param : ".in_array($a, $c)."<br />"; //renvoi vrai :o
echo "in_array false : ".in_array($a, $c, false)."<br />"; //renvoi vrai :o
echo "in_array true : ".in_array($a, $c, true)."<br />"; //renvoi faux
?>
Quelqu'un a une explication ?
Suite à un bug dans notre application, et après qq heures de recherche, nous avons extrait le bout de code suivant. Et là, quel étonnement. La fonction in_array() nous renvoi vrai alors que les valeurs testées sont bel et bien différentes... Démonstration :
[php]<?php
$a = '00100100100100640514';
$b = '00100100100100640512';
$c = array();
array_push($c, $b);
echo "in_array sans param : ".in_array($a, $c)."<br />"; //renvoi vrai :o
echo "in_array false : ".in_array($a, $c, false)."<br />"; //renvoi vrai :o
echo "in_array true : ".in_array($a, $c, true)."<br />"; //renvoi faux
?>[/php]
Quelqu'un a une explication ?