/ / Tableau associatif de casting de clés - Php, casting, tableau associatif

Chaîne flottante associant une matrice associative - php, casting, tableau associatif

Dans mon code, j'ai généré un tableau associatifavec des clés comme flottantes, cependant la documentation PHP indique que lorsqu'elles deviennent des clés dans le tableau, elles sont SUPPOSÉES pour être converties en entiers. Au lieu de cela, elles sont converties en chaînes (ce qui est mieux pour moi, donc je ne me plains pas ).

Le problème est que lorsque j'essaie d'accéder à ces clés en utilisant un float comme valeur de clé, il ne convertit que les float avec .5 en entiers et crée une nouvelle entrée dans le tableau. Cela ressemble à un comportement particulier.

Exemple:

var_dump( $array );

Sortie:

array(9) {
[0] =>
int(0)
[1.25] =>
int(0)
[2.5] =>
int(0)
....}

Quand j'essaie d'accéder à la valeur 2.5 comme ça,

array[2.5]++;

une nouvelle entrée dans le tableau est faite à array[2] Cependant, si j'essaie d'accéder au tableau à array[1.25]++; J'ai ajouté avec succès 1 à la valeur à la clé: 1.25

Des idées?

Réponses:

1 pour la réponse № 1

Je voudrais juste rester avec des cordes tout le temps:

$a = array(
"0" => 0,
"1.25" => 0,
"2.5" => 0
);

$a["2.5"]++;
echo $a["2.5"] . "n";
var_dump($a);

Le résultat est:

1
array(3) {
[0]=>
int(0)
["1.25"]=>
int(0)
["2.5"]=>
int(1)
}