Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Logiczne OR (||)
Reptile ReX
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


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ć ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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);


--------------------
Go to the top of the page
+Quote Post
Reptile ReX
post
Post #3





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


Kur.. cze smile.gif

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

Dzięki, temat do zamknięcia.
Go to the top of the page
+Quote Post
zordon
post
Post #4





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

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


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
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 Aktualny czas: 19.08.2025 - 14:47