Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] if null ..., pogubilem sie juz
Komarek
post 16.02.2011, 17:02:25
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 16.02.2011, 17:05:41
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 16.02.2011, 17:07:43
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 16.02.2011, 17:13:38
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 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 16.02.2011, 17:41:23
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


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post
Crozin
post 16.02.2011, 17:47:44
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 16.02.2011, 21:19:25
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... smile.gif
Go to the top of the page
+Quote Post
Crozin
post 16.02.2011, 21:56:31
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 2.05.2025 - 04:20