Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] if null ..., pogubilem sie juz
Komarek
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


Witam
Nie rozumiem jednej rzeczy.
Czemu to nie dziala jak nalezy ? :]

  1. if($userdata['user_field_2'] != null || $userdata['user_field_3'] != null)
  2. {
  3. $wyswietlaj = "tak";
  4. }
  5. else
  6. {
  7. $wyswietlaj = "nie";
  8. }


Zalezy mi na tym zeby sprawdzic Czy ktorekolwiek z pol zostalo uzupelnione.
Jezeli przynajmniej jedno pole jest uzupelnione - ma sie wyswietlac cos dalej
Jak zadne pole nie jest uzupelnione - nic ma sie nie wyswietlic.

Prosze o pomoc ;p

//p.s. to dotyczy phpbb by przemo ;p
Go to the top of the page
+Quote Post
Makciek
post
Post #2





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

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


daj zamiast
  1. if($userdata['user_field_2'] != null || $userdata['user_field_3'] != null)


to
  1. if(!empty($userdata['user_field_2']) || !empty($userdata['user_field_3']))


Ten post edytował Makciek 16.02.2011, 17:06:35
Go to the top of the page
+Quote Post
Komarek
post
Post #3





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 18.12.2009

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


no fajnie dzieki dziala!
+ pomogl

A jak ktos moglby mi wytlumaczyc co nie dzialalo, bylbym wdzieczny ;p
Go to the top of the page
+Quote Post
Makciek
post
Post #4





Grupa: Zarejestrowani
Postów: 126
Pomógł: 5
Dołączył: 7.03.2009
Skąd: Rzeszów

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


z tego co wyczytalem w manualu to "" nie jest tym samym co NULL (IMG:style_emoticons/default/tongue.gif)

"
empty() is_null() !isset()

$var = "";

empty($var) is true.
is_null($var) is false.
!isset($var) is false.
"
Go to the top of the page
+Quote Post
AlexDeLarge
post
Post #5





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


empty() - true jeśli parametr jest: pustym stringiem, pustą tablicą, znakiem \0, NULL i zerem.
isset() - true jeśli zmienna jest "w zasięgu", niezależnie od wartości jeśli wartość !== NULL
is_null() - true jeśli wartość jest równa NULL

@down
OK, racja - mea culpa.

Ten post edytował AlexDeLarge 16.02.2011, 17:49:48
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@AlexDeLarge: isset zwróci FALSE jeżeli zmienna ma wartość NULL - dowód

Cytat
z tego co wyczytalem w manualu to "" nie jest tym samym co NULL
W przypadku luźnego porównywania (== zamiast ===) obie wartości można stawiać za tożsame. http://www.php.net/manual/en/types.comparisons.php

Cytat
A jak ktos moglby mi wytlumaczyc co nie dzialalo, bylbym wdzieczny ;p
Byłoby łatwiej jakbyś podał jakie konkretnie wartości masz w tych zmiennych, czyli:
  1. var_dump($userdata['user_field_2'], $userdata['user_field_3']);
  2.  
  3. if (...) { ...
Go to the top of the page
+Quote Post
Prezi2907
post
Post #7





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----


Cytat(AlexDeLarge @ 16.02.2011, 17:41:23 ) *
empty() - true jeśli parametr jest: pustym stringiem, pustą tablicą, znakiem \0, NULL i zerem.
isset() - true jeśli zmienna jest "w zasięgu", niezależnie od wartości jeśli wartość !== NULL
is_null() - true jeśli wartość jest równa NULL

@down
OK, racja - mea culpa.

empty i is_null dobrze ale isset? BREDNIE...

isset sprawdza nam czy zostało coś ustalone np... na tablicach najwygodniej jest sprawdzić isset($_POST['cos_tam']) == true jeżeli taka tablica z taką nazwą istnieje...

Jeżeli nie pokaże nam błąd... może być ona pusta zapełniona itd... ALE TRUE POKAŻE JEŚLI ZOSTAŁA USTAWIONA ...

Nie będę tłumaczył tylko zapraszam do manuala... (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@Prezi2907: To sam skocz do tego manuala bo nie wiesz co piszesz. Do sprawdzania czy dany klucz tablicy w ogóle istnieje służy array_key_exists, a nie isset.
Go to the top of the page
+Quote Post

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: 23.08.2025 - 07:54