<?php ?>
Tablica $query_array jest poprawną tablicą w PHP, wywołanie pierwszej linijki daje efekt jak poniżej:
Kod
array(2) { ["m_table"]=> array(3) { [0]=> bool(true) [1]=> bool(true) [2]=> bool(true) } ["id"]=> array(3) { [0]=> string(1) "2" [1]=> string(1) "3" [2]=> string(1) "4" } }
Zawartość nie jest szczególnie istotna, chodzi o to, że tablica jest zbudowana z wyników MySQL w zupełnie poprawny sposób. Zatem wywołanie drugiej linii powinno zwrócić tablicę, zgodnie ze specyfikacją array_count_values()" title="Zobacz w manualu PHP" target="_manual. Ale niestety, wypluwa najdziwniejszy chyba błąd, jaki widziałem podczas mojej skromnie krótkiej pracy z PHP - Warning: array_count_values() [function.array-count-values]: Can only count STRING and INTEGER values! in [ścieżka]\lib_queries.php on line 1299
Koduję dziś już dość długo i pomyślałem sobie, że najwidoczniej jestem zmęczony i zapomniałem, o co naprawdę chodzi w array_count_values, pewnie faktycznie pobiera integer albo string. No ale to jest absurd, sprawdziłem w manualu i rzecz jasa niczego takiego nie ma. Włączyłem PHP 5 (jest to dość stary projekt, i obszerny, piszę go od początku w PHP 4 i nie chcę zmieniać wersji, bo to wymagałoby kompletnego przeprogramowania całego kodu), to samo. Żeby było zabawnie, dopisałem więc trzecią linię i co się okazało? Dobrze znany i spodziewany błąd, jak przy wszystkich funkcjach tablicowych:
Warning: array_count_values(): The argument should be an array in [ścieżka]\lib_queries.php on line 1300
Heh. Powie mi ktoś, czy to mój błąd, czy interpretera? Bo jak w pustym, eksperymentowym pliku wrzucam wywołanie array_count_values() z poprawną N-elementową różnowartościową tablicą, to nic szczególnego się nie dzieje, zwraca N bez warnów.
P.S. Tak, wiem, jest tyle funkcji tablicowych, że szkoda na to tracić czas, choćby za pomocą array_unique" title="Zobacz w manualu PHP" target="_manual można uzyskać bardzo podobny efekt przy odrobienie wysiłku, ale to jest bardzo intrygujący błąd...
edit: kurde się rozpisałem...
Wiem, za długo dziś koduję już...
Rozwiązanie jest oczywiście takie, że mam tablicę dwuwymiarową i próbuję liczyć tablice, a interpreter, zgodnie z komunikatem, liczy tylko ciągi i liczby całkowite, tylko że ja ten komunikat zupełnie inaczej przetworzyłem przez roztargnienie

bo też dawało taki sam efekt, dlatego że w tej tablicy mam wartości typu bool, których również nie da się tą funkcją policzyć... Powinienem sam sobie kliknąć "Pomógł"
<?php ?>
