![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 7.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Pierwsza drukuje odrazu tekst bez jego zwracania, co utrudnia późniejsze operacje na nim. Druga zwraca wynik, możesz łatwo go np: przypisać do zmiennej, albo podać w parametrach innej funkcji i dopiero wtedy wypisać na ekran.
kiedy stosować return ? zawsze ![]()
Ten post edytował Quantum 11.10.2010, 14:38:06 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Funkcje
Czy się róźnią te dwie funkcje? Kiedy stosować zwykłą tak jak w pierwszym, a kiedy z return? Funkcja powinna zwracać dane z funkcji, a nie je wyświetlać. Wyświetlanie zostaw poza funkcją, a w funkcji obrabiaj lub zwracaj dane. Użycie echo w funkcji raczej mija się z celem. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Roznica jest taka ze return nie zwraca odrazu wyniku do przegladarki, ale musisz uzyc echo do tego.
Roznica jest taka jak widzisz jesli jest return musisz potem dac echo jesli chcesz wyswietlic dane jesli jest juz echo nie ma takiej potrzeby ;] -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 7.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Byłabym wdzięczna za proste przykłady, żebym mogła zobaczyć róźnicę...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jeden prosty przykład masz już wyżej. Spróbuj w nim zmienić "return" na "echo" i zobaczysz, że przestanie działać. Ogólnie przypomnij sobie funkcje matematyczne, np. sin(), bo ogólna zasada jest podobna. Do funkcji podajesz jakieś argumenty, a one obliczają Ci wynik, z którym możesz coś później zrobić, np. użyć w jakimś wzorze. Zauważ, że wynik funkcji matematycznej zależy wyłącznie od podanych jej argumentów. Jest to bardzo ważna cecha - ogólnie takie funkcje (zwane "czystymi", jak kogoś to interesuje) są najlepsze i bardzo pożądane. Zatem zapiszmy sobie takiego sinusa:
Kod $a + $b + sin($c) Widzisz? Mogę wykonać to obliczenie, bo sin() obliczoną wartość zwraca. Ale napiszemy sobie teraz inny wariant tej funkcji: Kod function sin_alt($x) { // tutaj obliczenia matematyczne echo $wynikObliczen; } // end sin_alt(); I nagle przestaje być wesoło: Kod $a + $b + sin_alt($c) Takie wyrażenie już nam nie zadziała, bo Twoja funkcja zamiast zwrócić ten wynik, by mógł się nim zająć operator dodawania, wysłała go do przeglądarki. Twój sin_alt() nie zwraca teraz żadnej wartości, więc powyższe wyrażenie przestaje być poprawne. Kiedy co stosować? Pierwsze - prawie nigdy, drugie - prawie zawsze. W swoich aplikacjach echo mam tylko w kodzie generującym wynikowy HTML i ten kod prawie w ogóle nie korzysta z funkcji. Cała reszta aplikacji zwraca wyniki przez return. Ten post edytował Zyx 11.10.2010, 14:51:02 -------------------- Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 07:48 |