return

(PHP 4, PHP 5, PHP 7, PHP 8)

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ return Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ². Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ продолТаСтся Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ β€” с выраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ΄Ρ‘Ρ‚ Π·Π° мСстом Π²Ρ‹Π·ΠΎΠ²Π°.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ инструкция return Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ свой Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ return Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкции eval() ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π° скрипта.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΈΠ· глобальной области видимости инструкция return Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° скрипта. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ возвращаСтся Π² Ρ„Π°ΠΉΠ», ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π° скрипта Π²Ρ‹Π·Π²Π°Π»ΠΈ инструкции include ΠΈΠ»ΠΈ require. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ инструкции return вСрнётся ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° инструкции include, ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ» скрипта ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· include. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, Ссли инструкция return вызываСтся ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° скрипта. Если ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ auto_prepend_file ΠΈΠ»ΠΈ auto_append_file Π² Ρ„Π°ΠΉΠ»Π΅ php.ini Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» скрипта, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π° скрипта Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π΄Π΅Π» Β«Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΒ».

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ инструкция return β€” языковая конструкция, Π° Π½Π΅ функция, ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π²ΠΎΠΊΡ€ΡƒΠ³ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° инструкции Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° инструкция return Π²Π΅Ρ€Π½Ρ‘Ρ‚ null. ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ инструкции Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ нСльзя. Π’Ρ‹Π·ΠΎΠ² инструкции return со скобками, Π½ΠΎ Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Начиная с PHP 7.1.0 инструкции Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π±Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² функциях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ уровня E_COMPILE_ERROR, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π½Π΅ void, Ρ‚ΠΎΠ³Π΄Π° инструкции Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
188
warhog at warhog dot net ΒΆ
20 years ago
for those of you who think that using return in a script is the same as using exit note that: using return just exits the execution of the current script, exit the whole execution.

look at that example:

a.php
<?php
include("b.php");
echo "a";
?>

b.php
<?php
echo "b";
return;
?>

(executing a.php:) will echo "ba".

whereas (b.php modified):

a.php
<?php
include("b.php");
echo "a";
?>

b.php
<?php
echo "b";
exit;
?>

(executing a.php:) will echo "b".
up
82
J.D. Grimes ΒΆ
12 years ago
Note that because PHP processes the file before running it, any functions defined in an included file will still be available, even if the file is not executed.

Example:

a.php
<?php
include 'b.php';

foo();
?>

b.php
<?php
return;

function foo() {
     echo 'foo';
}
?>

Executing a.php will output "foo".