![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 18.01.2003 Ostrzeżenie: (0%) ![]() ![]() |
if i switch wykonuja sie i wyswietla mi sie dwa razy "a". nie powinno ... wiem, ze jest zapytanie === i wtedy jest weryfikacja typow jednak dziwi mnie to ... wiecie moze dlaczego tak sie dzieje? testowalem na php 4.3.3 i 4.3.9 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
No i co w tym dziwnego? Działa tak, jak powinno działać. Jeżlei na początku przypiszesz do $i liczbę całkowitą, to wszystkie późniejsze porównania automatycznie konwertują drugą porównywaną wartość na liczbę całkowitą. A że z konwersji stringa na liczbę całkowitą wyjdzie 0, więc wynikiem porównania jest true.
Jak słusznie zaueażłeś treewood, operator == porównuje tylko wartości, więc gdy nie zgadzają się typy, następuje automatyczna konwersja, === natomiast porównuje i typy i wartości. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 07:45 |