Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Funkcja warunkowa
Forum PHP.pl > Forum > Przedszkole
sebekzosw
Który sposób na sprawdzanie danych jest szybszy:

  1. <?php
  2. $LOL = 4;
  3.  
  4. $wynik = ($LOL == 5 ? 'Prawda<br />' : 'Fałsz<br />');
  5. echo $wynik;
  6. ?>


czy

  1. <?php
  2. $LOL = 4;
  3. if($LOL == 5) {
  4. $wynik2 = "Prawda<br />";
  5. } else {
  6. $wynik2 = "Fałsz<br />";
  7. }
  8. echo $wynik2;
  9. ?>


I które sprawdzanie będzie w miarę dobre dla moich potrzeb:
  1. <?php
  2. if(empty($_POST["login"])) { $registration_error .= "Wpisz login<br />"; } else { $registration_error .= SprawdzLogin($_POST["login"]); }
  3. if(empty($_POST["name"])) { $registration_error .= "Nie podałeś imienia i nazwiska!<br />"; }
  4. if(empty($_POST["mail1"])) { $registration_error .= "Wpisz Adres E-Mail!<br />"; }
  5. if(empty($_POST["mail2"])) { $registration_error .= "Powtórz adres E-Mail<br />"; }
  6. ?>
nospor
a nie mozesz zrobic petli i porownacz czasy wykonania? Naprawde trzeba z tym na forum leciec?
vokiel
Ten sposób nie zadziała
Cytat(sebekzosw @ 31.08.2009, 09:07:18 ) *
  1. <?php
  2. $LOL = 4;
  3. $wynik = ($LOL == 5 ? 'Prawda<br />' : 'Fałsz<br />');
  4. echo $wynik;
  5. ?>


Raczej tak:
  1. <?php
  2. $LOL = 4;
  3. $wynik = ($LOL == 5) ? 'Prawda<br />' : 'Fałsz<br />';
  4. echo $wynik;
  5. ?>
nospor
@vokiel to sprawdź a nie się błednie "raczujesz" winksmiley.jpg
sebekzosw
Niby pierwszy sposób jest szybszy, ale czy warto to używać? Jakie jest wasze zdanie?
nospor
a dlaczego ma nie byc warto? Przeciez jest to krotszy zapis. Ja go czesto stosuje wlasnie przy tak prostych warunkach.
vokiel
Cytat(nospor @ 31.08.2009, 09:28:54 ) *
@vokiel to sprawdź a nie się błednie "raczujesz" winksmiley.jpg


Rzeczywiście, racja, działa sciana.gif .
IMHO taki zapis jest nielogiczny (może czegoś nie rozumiem). Skrót ten ma zastepować użycie if (){}else{}. Sprawdzanie warunku w if występuje w zwykłym nawiasie, tak samo, wg mnie tutaj.

Co daje włożenie całości w nawias?

Wracając do wyboru. Ja osobiście stosuję zamiennie, jednak w prostych przypadkach (zwykłego przypisania wartości do zmiennych) preferuję krótszy zapis.
nospor
konstrukcja ta ma inną składnię niż IF. tutaj ten nawias jest wogole zbędny. Kod powinien wyglądac tak:
  1. $wynik = $LOL == 5 ? 'Prawda<br />' : 'Fałsz<br />';
sebekzosw
zbędne... chyba, że warunek jest złożony smile.gif
nospor
co masz na mysli mowiac zlozony? Bo nadal jest zbedny. Co najwyzej moze byc przydatny dla lepszej czytelnosci, choć nie wiem w czym ma to pomoc objecie wszystkiego w nawias jak ty to zrobiles
sebekzosw
np takie coś (złożone)

  1. <?php
  2. $wynik = (($LOL == 5) AND ($LOL != 0)) ? 'Prawda<br />' : 'Fałsz<br />';
  3. ?>
nospor
tez nie musisz tego brac w nawiasy smile.gif A juz szczegolnie w podwoje jak ty to zrobiles.
Ale jak to ma sie do tego co na początku zrobiles:
  1. $wynik = ($LOL == 5 AND $LOL != 0 ? 'Prawda<br />' : 'Fałsz<br />');

?
Przeciez o tym rozmawialismy tongue.gif

Podsumowując: nawiasy tu są potrzebne tylko i wyłącznie dla czytelności kodu.
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.