Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Funkcja warunkowa, Który sposób jest w miarę lepszy?
sebekzosw
post
Post #1





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


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. ?>


Ten post edytował sebekzosw 31.08.2009, 08:07:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a nie mozesz zrobic petli i porownacz czasy wykonania? Naprawde trzeba z tym na forum leciec?
Go to the top of the page
+Quote Post
vokiel
post
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


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. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@vokiel to sprawdź a nie się błednie "raczujesz" (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
sebekzosw
post
Post #5





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Niby pierwszy sposób jest szybszy, ale czy warto to używać? Jakie jest wasze zdanie?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a dlaczego ma nie byc warto? Przeciez jest to krotszy zapis. Ja go czesto stosuje wlasnie przy tak prostych warunkach.
Go to the top of the page
+Quote Post
vokiel
post
Post #7





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Cytat(nospor @ 31.08.2009, 09:28:54 ) *
@vokiel to sprawdź a nie się błednie "raczujesz" (IMG:style_emoticons/default/winksmiley.jpg)


Rzeczywiście, racja, działa (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 />';
Go to the top of the page
+Quote Post
sebekzosw
post
Post #9





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


zbędne... chyba, że warunek jest złożony (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
sebekzosw
post
Post #11





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


np takie coś (złożone)

  1. <?php
  2. $wynik = (($LOL == 5) AND ($LOL != 0)) ? 'Prawda<br />' : 'Fałsz<br />';
  3. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




tez nie musisz tego brac w nawiasy (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/tongue.gif)

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