Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Przyrównanie do zera, różnica między operatorem == a ===
dellfio
post 28.03.2007, 14:20:20
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 22.01.2007

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


Czemu

if(0=="zero"){echo'zero';}

daje "zero", natomiast

if(1=="jeden"){echo'jeden';}

oraz

if(0==="zero"){echo'zero';}

nie spełnia warunku ?

Czy chodzi jedynie o zmienne tekstowe, i czy wszystko co nie jest liczbą jest zerem ?
Go to the top of the page
+Quote Post
nospor
post 28.03.2007, 14:30:18
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




if(1=="jeden"){echo'jeden';}
dobre biggrin.gif
a jak bys napisal po rusku "jeden" to też php mialby kumac ze to jest to samo co 1?

if(0=="zero"){echo'zero';} jest prawdziwe, gdyz tekst "zero" rzutowany jest na inta, a tekst po zrzutowaniu to 0, wiec 0==0. rownie dobrze zamiast "zero" moze tam byc "alamakota"

if(0==="zero"){echo'zero';}
=== porownuje oprocz wartosci rowniez typ, a tutaj jedno to liczba, a drugie to string

ps: przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mike
post 28.03.2007, 14:33:52
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


To są właśnie chore cechy PHP.
To co napisał ~nospor to prawda:
Cytat(nospor @ 28.03.2007, 15:30:18 ) *
(...) a tekst po zrzutowaniu to 0, wiec 0==0. rownie dobrze zamiast "zero" moze tam byc "alamakota"
ale pamiętaj, że różnica pojawi się przy stringu "10kotówMaAla" tongue.gif

Ten post edytował mike_mech 28.03.2007, 14:34:02
Go to the top of the page
+Quote Post
nospor
post 28.03.2007, 14:42:37
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
ale pamiętaj, że różnica pojawi się przy stringu "10kotówMaAla"
czemu? wowczas bedzie 0==10 co rowniez nie bedzie prawdą tongue.gif

Cytat
To są właśnie chore cechy PHP.
eee tam, mi by w zyciu nawet do glowy nie przyszlo porownywac 1=="jeden", 2=="dwa". nie wiem skad ten pomysl winksmiley.jpg

edit:
http://pl.php.net/manual/pl/language.opera....comparison.php
http://pl.php.net/manual/pl/language.types...ring.conversion


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dellfio
post 28.03.2007, 15:33:12
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 22.01.2007

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


Cytat(nospor @ 28.03.2007, 15:30:18 ) *
a jak bys napisal po rusku "jeden" to też php mialby kumac ze to jest to samo co 1?
Tyle że to nie jest przykład funkcjonalny, a czysta merytoryka.
Wiadomo że nie chodzi o przyrównanie do tekstu po to by przyrównać, a tylko by pokazać różnicę, że 0 przyrównane do "zero" daje zero, a 1 do "jeden" nie daje.

Cytat(nospor @ 28.03.2007, 15:30:18 ) *
gdyz tekst "zero" rzutowany jest na inta, a tekst po zrzutowaniu to 0, wiec 0==0. rownie dobrze zamiast "zero" moze tam byc "alamakota"

Dodkładnie o to mi chodziło, lub "kiedy na całej linii pojawi się potęga to otrzymamy koło graniaste".

Cytat(nospor @ 28.03.2007, 15:30:18 ) *
=== porownuje oprocz wartosci rowniez typ, a tutaj jedno to liczba, a drugie to string

I o tę funkcjonalność również.

Cytat(nospor @ 28.03.2007, 15:30:18 ) *
ps: przenosze

Co proszę ?
Kalosze ?
Ja kaloszy proszę pana nie nosze.
No może w zimie, ale tylko po trosze.

Cytat
eee tam, mi by w zyciu nawet do glowy nie przyszlo porownywac 1=="jeden", 2=="dwa". nie wiem skad ten pomysl

Jak to skąd ?
Z głowniny.
Nie zastanawiałeś się nigdy jakie życie było by proste gdyby zamiast kalkulatorów były maszyny do pisania, a zamiast poduszkowców przewinięty na lewą stronę naleśnik ?
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: 15.07.2025 - 19:51