![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 195 Pomógł: 0 Dołączył: 7.07.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Fragment wydzielony z topicu
http://forum.php.pl/viewtopic.php?t=3921[/... (DeyV) ------------------------------------------------- scaner: ale to byly inne jezyki (jak i inne czasy). Dzis ludzie ucza sie od razu na jezykach wysokiego poziomu i nie maja pojecia co to jest zmienna, co to jest pamiec, jak to to jest zarzadzane... DayV - jasne, ze mozna i ze robi sie tak. Pytanie tylko czy to maniera prawidlowa i czy tak wlasnie powinno sie nauczac? :wink: Ja ignorowalem noticy dopoki przypadkiem nie przyszlo mi stawiac mojego skryptu na wlasnie takim serwerze jak opisalem... Od tego czasu zawsze pilnuje zeby nie bylo najmniejszego nawet bledu. A swoja droga... no coz, sprawdzilem. Maszyna: Athlon 1.8Ghz, WinXP, Apache2, php 4.3.0: Kod 1) w php.ini error_reporting = E_ALL & ~E_NOTICE [php:1:db2ac36647]<?php $m=0; for ($i=0;$i<10000;$i++ ){ if($x) { $m=1; } } ?>[/php:1:db2ac36647] Wynik ab -n 300 - Requests per second: 40.76 [#/sec] (mean) Kod 2) w php.ini error_reporting = E_ALL [php:1:db2ac36647]<?php $m=0; for ($i=0;$i<10000;$i++ ){ if(isset($x)) { $m=1; } } ?>[/php:1:db2ac36647] Wynik ab -n 300 - Requests per second: 91.87 [#/sec] (mean) No to chyba mam mocny argument? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Cytat Hmm... Nie! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nadal sie nie zgadzamy.
(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat Wniosek? Nawet w przypadku gdy zajmujemy sie najszerszym mozliwym aspektem zastosowania konstrukcji if($x) nadal empty wygrywa.
Ale to byla walka isset'a z if($x) a tutaj dochodzi nowy zawodnik empty (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Cytat I to przy zalozeniu, ze w 50% sytuacji zmiennej x nie ma, w 25 jest i jest pozytywna, a jeszcze w 25% jest TRUE.
Albo sie myle, albo znowu ((IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) wypatrzylem blad. Jest 50-50 ze zmienna jest lub jej nie ma (a nie 50-25, bo to niedopelnia nawet do 100% (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ) i 50-50 w jednym z tych poprzenich 50, ze zwroci TRUE, czyli upraszczajac 25%, ze bedzie TRUE, a 75% ze FALSE. Moze to miales na mysli, ale ja to inaczej odebralem. Cytat A przeciez jesli zdarza sie przyklad ktory opisalem, to zdecydowanie wiecej jest odslon z pokazaniem formularza (zmiennej nie ma) niz z wyslaniem.
No wlasnie to zalezy od sytuacji... Tak jak mowisz jest ok, ale np. gdy GET'em przekazujemy dzial w ktorym jestesmy na stronie to 95% zmienna jest ustawiona, bo chyba rzadko ktos sobie sprawdza co sie stanie gdy nie bedzie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) A jak juz pisalem i mierzylem przy zalozeniu, ze zmienna istnieje if($x) jest szybsze niz isset, chociaz ja wtedy stosuje switch'a i jest jeszcze lepiej, ale wiadomo o co chodzi (tylko przyklad nienajlepszy wybralem, ale pozno jest... wybacz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). Cytat Ogolnie wychodzi mi, ze lepiej jest zawezac wybor (co logiczne i czemu konstrukcja if($x) szkodzi ;p) a jesli sie nie da, stosowac jawne sprawdzanie.
No tak, ale nie debatowalismy (a przynajmniej tak mi sie wydawalo i chyba nawet to gdzies zaznaczylem) nad tym jaka opcja jest lepsza tylko nad tym, czy isset jest szybszy od if($x)... Podsumowanie: Owszem jest szybszy, ale w przypadku, gdy zmienna sprawdzana nie istnieje, a wolniejszy w przeciwnym wypadku. Pozostaje tylko kwestia tego co w danej sytuacji zachodzi czesciej. A biorac juz pod uwage nie tylko szybkosc ale i 'lepszosc' danego rozwiazania wygrywa isset (badz empty), o czym ja od poczatku wiedzialem, tylko nie o to mi chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Cytat Do tego dodam, powinno Ci sie spodobac, ze empty sprawdza tez czy tablica nie jest pusta... czyli ma wiecej zastosowan .
Oczywiscie, ze mi sie podoba. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 21:18 |