Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Warunek if - błędny wynik
tolomei
post
Post #1





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Witam.
Znalazłem ten przykład na innej stronie, lecz nie znalazłem tam odpowiedzi.

  1. $a = '987654321123456789987654321123456789';
  2. $b = '987654321123456789876543210012345698';
  3. if($a==$b)
  4. echo 'Równe';
  5. else
  6. echo 'Nie Równe';


Powyższy kod wyświetli napis "Równe".
Dlaczego ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Zadziałało tu rzutowanie typów w php, użyj operatora === który nie zmieni typu zmiennych podczas porównania. Przy == porównuje zmienne jak liczby całkowite a że liczby te są bardzo duże to ich wartość jest ograniczana do maksymalnej wartości danego środowiska.

// Aby się o tym przekonać zrób taki eksperyment:

  1. $a = '987654321123456789987654321123456789';
  2. $b = '987654321123456789876543210012345698';
  3. echo (int) $a ,'<br />',(int) $b;


Ten post edytował cycofiasz 16.08.2011, 20:16:11
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 02:13