Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]return true, return false...
Forum PHP.pl > Forum > Przedszkole
michat34
witam to sa calkowite podstawy ale gdzies jak sie uczylem tych podstaw to mi to gdzies uciekło, wiec pytam...

czy return false zatrzymuje dzialanie skryptu jak wywolam go w funkcji. dajmy ze
  1. function podaj_liczba_wieksza_niz_piec ($liczba)
  2. {
  3. if ($liczba < 5) return false;
  4. }
  5.  
  6. echo 'To wykona sie tylko jak podasz liczbe wieksza niz 5';


jak dam $liczba = 7 pokaze mi sie tekst, ale czy jak dam 3 i funkcja zwroci false to to jakos zatrzyma skrypt? jaki jest wgl sens stosowania booleanow?

mozna je stosowac w instrukcjach warunkowych?

  1. if (podaj_liczbe_wieksza_niz_piec (7))
  2. {
  3. echo 'To sie wykona jezeli podasz liczbe > 5';
  4. }


to jest dobre wykorzystanie?
b4rt3kk
Nie ważne jaką wartość przekazujesz poprzez return, jego wywołanie natychmiast kończy dalsze wykonywanie funkcji, także mniejsza czy to będzie true, false czy 'ala ma kota'.

Cóż wykorzystanie, taki przykład:

  1. // funkcja ma za zadanie podzielić vali1 przez val2
  2. function dzielenie($val1, $val2) {
  3. if ($val2 === '0') return false; // jeśli druga liczba jest zerem, to nie można podzielić więc nie ma sensu dalsze wykonywanie funkcji
  4. if (!is_int($val1) OR !is_int($val2)) return false; // jeśli wartosci nie sa liczbowe też dalsze wykonywanie działań jest bezcelowe
  5. return $val1/$val2; // zwrócenie wyniku
  6. }
michat34
to wiem, tylko czy mozna to wykorzsytac w ifach?

no dajmy na to pisze obiektowy system autoryzacji i kazda metoda sprawdza mi opowiednio poprawnosc loginu, hasla i emaila. i jezeli cos sie nie powiedzie to zwraca false. inaczej nic nei zwraca (czyli zwraca true?)

czyli mozna dac takie cos? :
  1. if (($user->check_login()) && ($user->check_pass()) && ($user->check_email()))
  2. {
  3. // dodaj nowego uzytkownika do bazy
  4. }


bo to bedzie jakby if (true and true and true)... ?
i jezeli sie okaze ze ktoras metoda zwroci false to if sie nie wykona? dobrze to rozumiem?
b4rt3kk
Cytat(michat34 @ 30.10.2012, 23:15:13 ) *
to wiem, tylko czy mozna to wykorzsytac w ifach?

no dajmy na to pisze obiektowy system autoryzacji i kazda metoda sprawdza mi opowiednio poprawnosc loginu, hasla i emaila. i jezeli cos sie nie powiedzie to zwraca false. inaczej nic nei zwraca (czyli zwraca true?)

czyli mozna dac takie cos? :
  1. if (($user->check_login()) && ($user->check_pass()) && ($user->check_email()))
  2. {
  3. // dodaj nowego uzytkownika do bazy
  4. }


bo to bedzie jakby if (true and true and true)... ?
i jezeli sie okaze ze ktoras metoda zwroci false to if sie nie wykona? dobrze to rozumiem?


Tak dobrze rozumiesz, if się wtedy wykona jeśli wszystkie funkcje zwrócą true.
michat34
bardzo dziekuje wink.gif mozna zamknac
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.