PHP : nombre à virgule flottante en tant que clé d'un tableau

<?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.

Etiquettes:

Ajouter un commentaire