![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Kod print('0'?true:false); Czy w PHP cos takiego od zawsze zwracalo false czy moze ostatnio zaszly jakies zmiany? ... A moze to ja mam nieprawidlowe skojarzenia z jezyka JS, gdzie tylko pusty string rzutuje sie na false, a reszta na true. Ten post edytował kufalo 27.11.2011, 00:27:29 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
no i jasne zgadza sie, FALSE: the empty string, and the string "0"
Czyli dla '0' inaczej rzutowane niz w innych jezykach (np JS) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 286 Pomógł: 12 Dołączył: 23.11.2006 Skąd: WL Ostrzeżenie: (0%) ![]() ![]() |
0 i pusty string - to masz jak null
a null - define("null", 0) Czyli
Takie coś ci zwróci prawde
ale takie coś już nie przez sprawdzanie typu Ten post edytował szmerak 27.11.2011, 02:05:56 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
PHP niestety tak ma.
Mi też to nie pasuje. Kiedyś nawet o tym pisałem false != '1' false != 1 false == 0 false == '0' false != '00' false != '0.0' false != '-1' |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie rozumiem co w tym dziwnego że '0' == false. Rozumiem że w JS '0' rzutowane jest na kod ASCII znaku, dlatego też jest inne od 'false' ? Wydaje mi się to całkowicie normalne i naturalne podejście. Ale faktycznie widzę że może w pewnych sytuacjach przysporzyć sporo komplikacji.
Ale jeżeli naprawdę nie możesz tego znieść, zawsze możesz użyć:
Albo wręcz opisać to w funkcje w stylu 'real_value' i voila!
Ten post edytował Uriziel01 28.11.2011, 11:11:24 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 15:33 |