Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwna konstrukcja warunku if (coś mi nie pasuje)
busterek
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 30.07.2006
Skąd: Łódź

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


Witajcie.
Napisałem sobie skrypt, którzy z katalogu wczytuje maile i wyłuskuje z nich adresy nadawcy. Ponieważ są również maile od allegro i payu, to w tych mailach szuka pola Return-Path.
Wyciągnąłem adres z pola From, i sprawdzam jego wartość taką konstrukcją:

  1. if (strpos($adres, '@allegro.pl') === false or strpos($adres, '@payu.pl') === false)


Czyli przekładając na język ludzki: jeśli w adresie nie występuje ciąg '@allegro.pl' lub '@payu.pl' to ...

Jednakże nie działa to poprawnie. Zadziałało natomiast:

  1. if (strpos($adres, '@allegro.pl') === false and strpos($adres, '@payu.pl') === false)


Przecież to nielogiczne. Czy ja czegoś nie rozumiem? Może ktoś mi wyjaśnie o co chodzi? Dlaczego z punktu widzenia logiki pierwsza konstrukcja warunku if nie działa poprawnie?

Ten post edytował busterek 23.10.2013, 09:06:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
no_face
post
Post #2





Grupa: Zarejestrowani
Postów: 346
Pomógł: 23
Dołączył: 28.11.2004

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


Uwierz, ze jest logiczne. Przy negacji uzywamy and'a (IMG:style_emoticons/default/smile.gif)

EDIT

Cytat
W końcu jeśli będziesz miał adres z @allegro.pl to sprawdzanie @payu.pl zwróci false


Praktycznie rzecz ujmujac w tym przypadku @payu.pl nie zwroci false. Przy OR jezeli pierwszy warunek zwroci TRUE caly if jest TRUE i nie sa sprawdzane kolejne warunki (IMG:style_emoticons/default/smile.gif)

Ten post edytował no_face 23.10.2013, 09:19:12
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: 28.12.2025 - 13:22