![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 20.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jak wszyscy wiemy są sobie dwie funkcje - echo() i printf(). Obydwie służą do wyświetlania jakichś danych. Pytanie brzmi. Jakie są między nimi różnice. Wiem tyle, że do printf() można dodawać różne parametry, a do echo() już nie. Chodzi mi tu głównie o szybkość działania funkcji? Na swoim www używam printf() nie wykorzystując jego funkcji, tj.:
Czy coś się zmieni jeśli użyję tu echo() ? -------------------- Bartek 'Ojebejbe' Mackiewicz
GG#853388 | skype: b.mackiewicz @: bartosz.mackiewicz@hot.pl ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
echo() wyswietli po prostu string z twojej zmiennej...
za pomoca printf() mozesz sobie formatowac tekst (ilosc liczb po przecinku, konwersja liczb na systemy dwojkowe, osemkowe, hex, itd... odsylam do manuala po wiecej info... http://pl.php.net/manual/ ) Szybkosc dzialania? Jezeli echo tylko wyswietla i nieczego z zmienna nie robi to analogicznie jest szybsze ![]() -------------------- Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 4.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Echo jest nieco szybsze. Poza tym printf zwraca true/false.
-------------------- Załóż konto na dropbox.
|
|
|
-ajmlovinint- |
![]()
Post
#4
|
Goście ![]() |
wykonałem skromne testy:
1) TEST PRINTF // to są moje zmienne $zm1 = 'ZMIENNA 1'; $zm2 = 'ZMIENNA 2'; $zm3 = 'ZMIENNA 3'; $zm4 = 'ZMIENNA 4'; $zm5 = 'ZMIENNA 5'; $zm6 = 'ZMIENNA 6'; // tak chcę je wyświetlić $format = '--a--%s--b--%s--c--%s--d--%s--e--%s--f--%s'; // a tak wykonuję serię działań for($i=1;$i<=50000;$i++){ printf($format, $zm1, $zm2, $zm3, $zm4, $zm5, $zm6); } Wynik z xdebug: printf wykonywano przez ok. 260s ===================== 2) TEST ECHO // te same zmienne for($i=1;$i<=50000;$i++){ echo '--a--'.$zm1.'--b--'.$zm2.'--c--'.$zm3.'--d--'.$zm4.'--e--'.$zm5.'--f--'.$zm6; } Wynik z xdebug: echo wykonywano przez ok. 180 s. ===================== Wniosek: echo jest szybsze od printf o ok. 30% ! |
|
|
-ajmlovinint- |
![]()
Post
#5
|
Goście ![]() |
korekta: nie s tylko ms
ps. sorry - zapomniałem ująć kod w [ php ]. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Podstawowa różnica jest taka, że echo() to konstrukcja językowa, a
printf() to funkcja, zwracająca jako rezultat wykonania długość wyświetlonego ciągu (w bajtach). Poza tym fakt, że echo() funkcją nie jest, nie pozwala choćby na takie zabawy:
ale:
-------------------- Life's simple... You make choices and don't look back...
|
|
|
-ajmlovinint- |
![]()
Post
#8
|
Goście ![]() |
|
|
|
-ajmlovinint- |
![]()
Post
#9
|
Goście ![]() |
Tu macie coś ciekawego też:
http://www.phpbench.com/ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:18 |