Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Switch a if, róznica
cniak
post 10.11.2010, 23:05:11
Post #1





Grupa: Zarejestrowani
Postów: 169
Pomógł: 12
Dołączył: 16.09.2009

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


  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?

Ten post edytował cniak 10.11.2010, 23:08:07
Go to the top of the page
+Quote Post
Daiquiri
post 10.11.2010, 23:07:20
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Czytałeś manuala?
Go to the top of the page
+Quote Post
cniak
post 10.11.2010, 23:10:30
Post #3





Grupa: Zarejestrowani
Postów: 169
Pomógł: 12
Dołączył: 16.09.2009

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


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?
Go to the top of the page
+Quote Post
Daiquiri
post 10.11.2010, 23:12:13
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Proponuję przeczytać go dokładniej.

@down: czy podpowiedź, że wszystko masz w opisie switcha + link to dla Ciebie za mało? Najwidoczniej tak.

Ten post edytował Daiquiri 10.11.2010, 23:16:44
Go to the top of the page
+Quote Post
cniak
post 10.11.2010, 23:14:37
Post #5





Grupa: Zarejestrowani
Postów: 169
Pomógł: 12
Dołączył: 16.09.2009

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


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?


Ten post edytował cniak 10.11.2010, 23:25:21
Go to the top of the page
+Quote Post
Crozin
post 10.11.2010, 23:27:59
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


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ąć.
Go to the top of the page
+Quote Post
Mephistofeles
post 11.11.2010, 10:58:30
Post #7





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

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


Różnica taka, jak między obrotnicą a 10 zwrotnicami na torach winksmiley.jpg.
Go to the top of the page
+Quote Post
cniak
post 11.11.2010, 11:43:37
Post #8





Grupa: Zarejestrowani
Postów: 169
Pomógł: 12
Dołączył: 16.09.2009

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


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.

Ten post edytował cniak 11.11.2010, 12:54:16
Go to the top of the page
+Quote Post
Fifi209
post 11.11.2010, 12:00:12
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


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


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
Crozin
post 11.11.2010, 12:49:20
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@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ę.

Ten post edytował Crozin 11.11.2010, 12:49:40
Go to the top of the page
+Quote Post
Fifi209
post 11.11.2010, 13:37:55
Post #11





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


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.

Ten post edytował fifi209 11.11.2010, 13:38:24


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
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: 18.06.2025 - 06:37