Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logiczne OR (||)
Forum PHP.pl > Forum > PHP
Reptile ReX
Witam, mam pytanie, mianowicie mam taki warunek:

  1. if ($PrzelewOK == 1 || $PobranieOK == 1 || $PaypalOK == 1) {


Patrząc logicznie, "||" jest matematyczną alternatywą (przynajmniej tak zawsze sobie tłumaczyłem), czyli przynajmniej jedno musi być prawdziwe.

Ale:

Gdy PrzelewOK = 1, reszta 0 wtedy - TRUE

Gdy PobranieOK = 1 reszta 0 wtedy FALSE

Gdy PaypalOK = 1, reszta 0 wtedy - TRUE

Dlaczego w przypadku Pobrania wyrzuca False?
Co powinienem zrobić ?
wookieb
A czy chcesz się założyć, że tak nie jest? Po prostu źle debugujesz.
  1. $PrzelewOK = 0;
  2. $PobranieOK = 1;
  3. $PaypalOK = 0;
  4. $wyn = $PrzelewOK == 1 || $PobranieOK == 1 || $PaypalOK == 1;
  5.  
  6. var_dump($wyn);
Reptile ReX
Kur.. cze smile.gif

Nazwy zmiennej w POŚcie mi się pomyliła.

Dzięki, temat do zamknięcia.
zordon
Raczej to Ty popełniasz błąd.
Daj sobie var_dump na każdej zmiennej - masz po prostu coś innego w zmiennych niż Ci się zdaje
dla przykładu:
  1. $PrzelewOK = 0;
  2. $PobranieOK = 0;
  3. $PaypalOK = 0;
  4.  
  5. if ($PrzelewOK == 1 || $PobranieOK == 1 || $PaypalOK == 1) {
  6. echo 'OK';
  7. }else{
  8. echo 'nie';
  9. }


taki kod działa bez zarzutu
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.