Autor | Zpráva | ||
---|---|---|---|
Jirik1 Profil * |
#1 · Zasláno: 2. 11. 2018, 20:07:12
Ahoj, chtěl jsem se zeptat. Co znamená prázdný return ve funkci?
Například class Trida { public function funkce() { $teloFunkce = 1; return; } } |
||
Kajman Profil |
#2 · Zasláno: 2. 11. 2018, 20:27:50
Ukončí vykonávání funkce a vrátí NULL. Je to tedy samé jako
return NULL; |
||
Jirik1 Profil * |
Díky Kajmane za odpověď. A k čemu je to dobré psát funkci, kterou nechci vykonat?
Jirik1: Aha, tak už vím :-) |
||
Mlocik97m Profil * |
#4 · Zasláno: 3. 11. 2018, 16:36:18
return nema nic spolocne s tym ci sa funkce vykona ci nikoliv... return je len odovzdanie hodnoty premennej ako navratovu hodnotu funkcie... return; znamena ze sa odovzda null. Resp. ze funkce "nebude" mat navratovu hodnotu.
|
||
N71 Profil * |
#5 · Zasláno: 3. 11. 2018, 17:20:22
To taky nikdo netvrdil – jde jen o to, že po návratu hodnoty už není případný zbytek funkce vykonán.
Jistá výjimka z tohoto pravidla je konstrukt yield , který umožňuje jedním zavoláním vracet z funkcí více iterovatelných hodnot, ale do toho není třeba zabrušovat.
|
||
Jirik1 Profil * |
#6 · Zasláno: 3. 11. 2018, 21:30:03
Já jsem to včera zkoušel, uvádím příklad:
<?php namespace jakPsatWeb; class TestReturn { public $promenna = 1, $promenna2 = 2, $promenna3 = 3; public function funkce() { echo $this->promenna; return; echo '<br />' . $this->promenna2; // promenna2 se nevypise. } public function funkce2 () { echo '<br />' . $this->promenna; if ($this->promenna2 == 2) { return; } else { echo '<br />' . $this->promenna2; } echo '<br />' . $this->promenna3; // pokud je $promenna2 == 2, pak se nevypise ani $promenna3. } } ?> <!DOCTYPE html> <head> <meta charset="utf-8" /> <title>Return</title> <style type="text/css"> body { font-family: Verdana, sans-serif; } h1 { font-size: 14px; font-weight: bold; text-decoration: underline; font-style: italic; } </style> </head> <body> <h1>Prazdny return ve funkci:</h1> <?php $testR = new TestReturn; $testR->funkce(); $testR->funkce2(); ?> </body> </html> |
||
Joker Profil |
#7 · Zasláno: 4. 11. 2018, 11:09:57
Takhle použité je to samozřejmě nesmysl.
(Lepší IDE by k řádku 11 přidalo upozornění, že se na ten kód nelze dostat.) Samozřejmě je nesmysl mít ve funkci kód, ke kterému se nikdy nelze dostat. Ale jelikož existují podmínky a cykly (a try-catch), může mít funkce i více konců. |
||
Jirik1 Profil * |
#8 · Zasláno: 4. 11. 2018, 19:07:07
Vím, že to je nesmysl. Jen to znázorňuje fakt, že to funguje.
|
||
Časová prodleva: 5 let
|
0