<?php
$test = array(3.1415 => 'abc');
var_dump($test);
?>
A votre avis, qu'est ce qui est affiché ?
Réponse :
array(1) { [3] => string(3) "abc" }
Le nombre à virgule flottante est tronqué en entier. Piège à con non ? Je me suis fait prendre, qu'est ce que vous pensez que je dois en tirer comme conclusion ?
La solution :
<?php
$test = array((string)3.1415 => 'abc');
var_dump($test);
?>
Résultat :
array(1) { ["3.1415"]=> string(3) "abc" }
Un petit cast en string. Je suis pas du genre à dire "PHP c'est de la merde", mais sur ce coup là, ça me brûle les lèvres.
Ajouter un commentaire