Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Informacja na temat indexu, isset
Pride
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


Witam.
Po zmianie krasnala na "własny" serwer zacząłem się bawić w php.ini itd. Po zmianie raportowania errorów na E_ALL zaczął mi się pojawiać znany pewnie Wam error: Notice: Undefined index. Wiem, że można by to "załatwić" za pomocą usunięcia raportów o Notice, ale przecież to mija się z celem worriedsmiley.gif Można to także załatwić za pomocą isset. Jednak mam co do tego pytanie. Która z metod jest bardziej "poprawną":

  1. <?php
  2. if(isset($_GET['go']) AND $_GET['go'] == '1')
  3. {
  4. echo '111';
  5. }
  6. ?>


czy:
  1. <?php
  2. if(isset($_GET['go']))
  3. {
  4. if($_GET['go'] == '1')
  5. {
  6. echo '111';
  7. }
  8. }
  9. ?>


Chodzi mi tutaj bardzie o to, która z metod jest częściej stosowaną i bardziej polecaną? Może nie ma to aż takiego znaczenia, ale chciałbym poznać opinię kogoś bardziej doświadczonego smile.gif

Dzięki,
Pride


--------------------
Kto pyta - nie błądzi, kto szuka - znajduje.
Go to the top of the page
+Quote Post
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


W zasadzie obie są takie same... częściej chyba stosowana jest ta pierwsza bo i to mniej pisania i schludniej to wygląda... nie trzeba potem szukać po różnorakich ifach... a i nawiasy klamrowe tylko dwa i raczej nie ma możliwości żeby coś przeoczyć... winksmiley.jpg
Go to the top of the page
+Quote Post
ddiceman
post
Post #3





Grupa: Zarejestrowani
Postów: 326
Pomógł: 121
Dołączył: 23.07.2008
Skąd: Wrocław

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


Dodatkowo drugi skladnik koniunkcji nie jest sprawdzany jezeli pierwszy zwroci wartosc logiczna 'falsz' (podobnie jak z alternatywa or i wartoscia 'true'). Dlatego tez pierwszy kod nie wymaga wcale kazdorazowego sprawdzania obu warunkow i nie traci na tym wydajnosc.
Go to the top of the page
+Quote Post
Pride
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 11
Dołączył: 31.01.2005
Skąd: Bydgoszcz

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


No widzicie, a ja sam z siebie myślałem, że drugi kod > pierwszy smile.gif
"Kto pyta, nie błądzi."


--------------------
Kto pyta - nie błądzi, kto szuka - znajduje.
Go to the top of the page
+Quote Post
1010
post
Post #5





Grupa: Zarejestrowani
Postów: 749
Pomógł: 37
Dołączył: 3.10.2006

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


a ja bym zrobił po prostu tak:

  1. <?
  2. if($_GET['go']=='1')
  3. {
  4.  print "111";
  5. }
  6. ?>


W tym przypadku ten isset jest zbędny...


Edit... czytałem temat na szybko, a właściwie tylko jego drugą część...
Rzeczywiście jeżeli nie będzie $_GET, a wstawimy to w if'ie to wyskoczy błąd...

Sorka

Ten post edytował 1010 30.07.2008, 16:57:13


--------------------
Go to the top of the page
+Quote Post
wrzasq
post
Post #6





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

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


PHP sprawdza warunki wedlug kolejnosci, wiec tak jak powiedzieli poprzednicy, pierwszy kod jest lepszy. zapewne obawiales sie, ze tak jak w niektorych innych jezykach kompilator/interpreter moze dowolnie ustawiac kolejnosci i drugi warunek bedzie sprawdzony jako pierwszy, ale w PHP tego nie ma smile.gif.


--------------------
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 Aktualny czas: 21.08.2025 - 20:21