Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Switch a if
Forum PHP.pl > Forum > Przedszkole
cniak
  1. <h3> POROWNANIE SWITCH I IF </h3><h3> POROWNANIE SWITCH I IF </h3>
  2. <tr style="background: black; border: none; color: white;"><th>SWITCH</th><th>IF</th></tr>
  3. <tr>
  4. <td><?php
  5.  
  6. $spr = 'dwa';
  7.  
  8. switch($spr) {
  9. case 'jeden':
  10. echo '1';
  11. break;
  12.  
  13. case 'dwa':
  14. echo '2';
  15. break;
  16.  
  17. case 'trzy':
  18. echo '3';
  19. break;
  20.  
  21. default:
  22. echo 'domyslny';
  23. break;
  24.  
  25. }
  26. ?></td>
  27. <td><?php
  28. $er = 'jeden';
  29.  
  30. if($er == 'jeden') {
  31. echo '1';
  32. }
  33. elseif ($er == 'dwa') {
  34. echo '2';
  35. }
  36. else echo 'domyslny';
  37. ?>
  38. </td>
  39. </tr>
  40. </table>


Zaczynam nauke z php i teraz szukam różnic miedzy if a switch, rozni sie to tylko składnią pisania? Wiem do czego sluza te funkcje, tylko pozniej beda mialy miedzy soba kolosalne roznice w zastosowaniu?
Czy roznica jest miedzy break, continue i return?
Daiquiri
Czytałeś manuala?
cniak
Cytat(Daiquiri @ 10.11.2010, 23:07:20 ) *
Czytałeś manuala?

1)Nie zadaje pytan na ktore znam odpowiedz.
2) Zanim cos napisze szukam tego w ksiazce, na manualu i google.
3) Potrafisz czytac ze zrozumieniem?
Daiquiri
Proponuję przeczytać go dokładniej.

@down: czy podpowiedź, że wszystko masz w opisie switcha + link to dla Ciebie za mało? Najwidoczniej tak.
cniak
Cytat(Daiquiri @ 10.11.2010, 23:12:13 ) *
Proponuję przeczytać go dokładniej.

To ja proponuje przeczytac dokladnie tresc ktora napisalem, jak masz zamiar dalej pisac w stylu "ja wiem, ale nie powiem" to nie pisz tutaj :/
#up
To moze podkresle:

Wiem do czego sluza te funkcje, tylko pozniej beda mialy miedzy soba kolosalne roznice w zastosowaniu?
Crozin
Cytat
Potrafisz czytac ze zrozumieniem?
Ty najwyraźniej nie. W manualu masz dokładnie wytłumaczone jak działa switch oraz wielokrotny blok if/else.
Cytat
Czy roznica jest miedzy break, continue i return?
No sorry... tutaj już trzeba być po prostu tępym by różnicy nie pojąć.
Mephistofeles
Różnica taka, jak między obrotnicą a 10 zwrotnicami na torach winksmiley.jpg.
cniak
Crozin, wiem co to jest break, continue itd. Glownie chodzilo mi o te pytanie:
Wiem do czego sluza te funkcje, tylko pozniej beda mialy miedzy soba kolosalne roznice w zastosowaniu? (np jakie?)
Nikt jeszcze php nie nauczyl sie w tydzien, nie wiem - moze ty odrazu wszystko pojmujesz i do kazdego masz pretensje ze ktos tego nie potrafi. Moze ty po prostu jestes narcyzem? Moze masz ta wiedze, ale co Ci z tego pozniej bedzie jak z ludzmi nie bedziesz potrafil sie dogadac? Az pozniej Ciebie zwolnia.
Fifi209
Wyobraź sobie sytuację, że masz plik index.php do którego includujesz podstrony.

Można to zrobić tak:
  1.  
  2. $file = $_GET['page'];
  3.  
  4. switch ($file) {
  5. case 'x':
  6. include('cos/x.php');
  7. break;
  8.  
  9. case 'y':
  10. include('cos/y.php');
  11. break;
  12. }


lub tak:
  1.  
  2. $file = basename($_GET['page']);
  3.  
  4. if (file_exists('cos/'.$file.'.php')) {
  5. include('cos/'.$file.'.php');
  6. }


A teraz pomyśl, jakbyś miał ~70 podstron lub więcej. Co wybierzesz?
To trzeba po prostu samemu nauczyć się rozróżniać.
Crozin
@fifi209: słaby przykład, bo obie konstrukcje da się w nim użyć zamiennie. Dowód: http://ideone.com/McIXH

Cytat
Wiem do czego sluza te funkcje, tylko pozniej beda mialy miedzy soba kolosalne roznice w zastosowaniu? (np jakie?)
Po pierwsze: to nie są żadne funkcje.
Po drugie: nie, później (w sumie nie wiem co masz przez to na myśli) będą miały dokładnie takie same różnice jak teraz.

Komentarz do gadki o Narcyzie sobie podaruję.
Fifi209
Cytat(Crozin @ 11.11.2010, 12:49:20 ) *
@fifi209: słaby przykład, bo obie konstrukcje da się w nim użyć zamiennie. Dowód: http://ideone.com/McIXH

Ile kodu miałbyś robiąc 100 case, include, break a ile robiąc jednego if'a który zastąpi switcha? ;]
Przykład wydaje mi się trafiony.
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.