ergänzend zu den Lösungshinweisen, die du schon bekommen hast: Das sind keine Zahlenwerte, sondern Strings.
Und schon haben wir ein typisches PHP-Problem.
Ich habe mal das Beispiel aus der Doc probiert.
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
Ausgabe:
Array
(
[1] => 2
[hello] => 2
[world] => 1
)
Man könnte jetzt etwas wie „toll“ denken. Aber:
<?php
$array = array(1, "hello", "1", "world", "hello", 1.9);
print_r(array_count_values($array));
Warning: array_count_values(): Can only count string and
integer values, entry skipped in /home/fastix/tmp/2.php on line 3
Array
(
[1] => 2
[hello] => 2
[world] => 1
)
was auch so NICHT stimmt, denn var_dump($array)
sagt:
array(6) {
[0]=>
int(1)
[1]=>
string(5) "hello"
[2]=>
string(1) "1" ### INT 1 != STRING 1: falsch gezählt!
[3]=>
string(5) "world"
[4]=>
string(5) "hello"
[5]=>
float(1.9) ### Nicht gezählt!
}
Die Doc erklärt auch, wie diverse Werte in Keys umgewandelt werden - und zeigt die Hölle