Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> count() liczy puste tablice jako 1, złe wyniki funkcji count()
tomilipin
post 26.10.2007, 20:59:18
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

Ostrzeżenie: (0%)
-----


Witam,
opiszę szybko mój problem:

mam funkcję, zwracającą wyniki w postaci tablic zagnieżdżonych w sobie (2 poziomy) i muszę policzyć ile ich jest. Wynik funkcji wygląda na przykład tak:
  1. <?php
  2. (
  3. [0] => Array
  4. (
  5. [id] => 1
  6. [autor] => test1
  7. [tresc] => test1asd
  8. )
  9.  
  10. [1] => Array
  11. (
  12. [id] => 2
  13. [autor] => test2
  14. [tresc] => test2qwe
  15. )
  16.  
  17. [2] => Array
  18. (
  19. [id] => 3
  20. [autor] => test3
  21. [tresc] => test3zxc
  22. )
  23.  
  24. )
  25. ?>


Jak dodam pierwszy wpis, i mam jeden rekord, to wynik brzmi 1. Gdy mam 3 rekordy i je zliczę to otrzymuję wynik 3. Ale gdy nie ma wcale rekordów, to funkcja count() zwracaj wynik 1 blinksmiley.gif
Jak to możliwe...? I jak temu zaradzić?


--------------------
Kod
$kobieta = 'Kobieta zmienną jest...';
Go to the top of the page
+Quote Post
kevinsz
post 26.10.2007, 22:12:19
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 26.04.2007

Ostrzeżenie: (0%)
-----


Nie wiem, jak dokładnie masz w kodzie, ale może jednak nie wywołujesz fukncji count na tablicy, kiedy jest pusta? Cytat z dokumentacji: "If var is not an array or an object with implemented Countable interface, 1 will be returned."
Go to the top of the page
+Quote Post
domis86
post 26.10.2007, 22:36:55
Post #3





Grupa: Zarejestrowani
Postów: 255
Pomógł: 5
Dołączył: 20.03.2007
Skąd: Kraków

Ostrzeżenie: (30%)
XX---


inicjuj zawsze pustą zmienna jako:
  1. <?php
  2. $tablica = array ();
  3. ?>

przed wlozeniem do niej danych i wszystko bedzie dobrze

Ten post edytował domis86 26.10.2007, 22:37:11
Go to the top of the page
+Quote Post
tomilipin
post 5.11.2007, 16:59:13
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 28.01.2004
Skąd: że znowu ლ(ಠ益ಠლ

Ostrzeżenie: (0%)
-----


Ok, zastosuję się do wskazówek.
Zmienna faktycznie nie jest definiowana jako tablica, od razu są do niej wrzucane wartości.

Zauważyłem też, że problem występuje tylko u mnie na localhoście. Po uploadzie na zewnętrzny serwer (band.pl) wszystko działa normalnie, count zwraca 0 gdy zmienna jest pusta (tablica czy nie)...

Poprawię. Dziękuję za pomoc smile.gif


--------------------
Kod
$kobieta = 'Kobieta zmienną jest...';
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 10:05