Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Porównywanie strongów
Forum PHP.pl > Forum > Przedszkole
Kubik93
Cześć i czołem,

głupie pytanie. Dlaczego

  1. if($country=='FR'||'AT'||'HU'||'SI')


przyjmuje TRUE skoro $country = 'PL';

Danke sehr za odpowiedz smile.gif
Neutral
  1. $countries = ['FR', 'AT', 'HU', 'SI'];
  2. if(in_array($country, $countries))// ...


Jeśli chcesz mocniejsze typowanie, to na końcu dodaj true, do in_array...

Zaprezentowany kod wyrzuca true, najprawdopodobniej dlatego, że porównuje $country z 'FR', dalej "nic" z 'AT' itd., więc już dla 'AT' zwraca true, nie jest porównywany z niczym.

  1. if($country == 'FR' || $country == 'AT' || $country == 'HU' || $country == 'SI')// ...
Pyton_000
Zwraca true dla tego że przy operacji logicznej prawa strona wyrażenia (czyli to po ==) jest ewaluowana do wartości bool więc

'FR'||'AT' => true || true => true

potem porównanie z lewą stroną a że string => true to true == true
Kubik93
Bardzo lubię to forum!

Dzięki Panowie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.