## return
(PHP 4, PHP 5, PHP 7)
如果在一個函數中調用 **return** 語句,將立即結束此函數的執行并將它的參數作為函數的值返回。**return** 也會終止 [eval()](http://php.net/manual/zh/function.eval.php) 語句或者腳本文件的執行。
如果在全局范圍中調用,則當前腳本文件中止運行。如果當前腳本文件是被 [include](http://php.net/manual/zh/function.include.php) 的或者 [require](http://php.net/manual/zh/function.require.php) 的,則控制交回調用文件。此外,如果當前腳本是被 [include](http://php.net/manual/zh/function.include.php) 的,則 **return** 的值會被當作 [include](http://php.net/manual/zh/function.include.php) 調用的返回值。如果在主腳本文件中調用 **return**,則腳本中止運行。如果當前腳本文件是在 php.ini 中的配置選項 [auto\_prepend\_file](http://php.net/manual/zh/ini.core.php#ini.auto-prepend-file) 或者 [auto\_append\_file](http://php.net/manual/zh/ini.core.php#ini.auto-append-file) 所指定的,則此腳本文件中止運行。
更多信息見[返回值](http://php.net/manual/zh/functions.returning-values.php)。
> **Note**: 注意既然 **return** 是語言結構而不是函數,因此其參數沒有必要用括號將其括起來。通常都不用括號,實際上也應該不用,這樣可以降低 PHP 的負擔。
> **Note**: 如果沒有提供參數,則一定不能用括號,此時返回 **`NULL**`。如果調用 *return* 時加上了括號卻又沒有參數會導致解析錯誤。
> **Note**: 當用引用返回值時*永遠不要*使用括號,這樣行不通。只能通過引用返回變量,而不是語句的結果。如果使用 *return ($a);* 時其實不是返回一個變量,而是表達式 *($a)* 的值(當然,此時該值也正是 $a 的值)。
- 序言
- 簡介
- PHP是什么?
- PHP能做什么?
- 基本語法
- 類型
- boolean(布爾型)
- integer(整型)
- float(浮點型)
- string(字符串)
- array(數組)
- object(對象)
- callable(可調用)
- resource(資源)
- NULL(無類型)
- 偽類型
- 類型轉換的判別
- 變量
- 基礎
- 預定義變量
- 變量范圍
- 可變變量
- 來自PHP之外的變量
- 常量
- 語法
- 魔術常量
- 表達式
- 運算符
- 運算符優先級
- 算術運算符
- 賦值運算符
- 位運算符
- 比較運算符
- 錯誤控制運算符
- 執行運算符
- 遞增/遞減運算符
- 邏輯運算符
- 字符串運算符
- 數組運算符
- 類型運算符
- 流程控制
- if
- else
- elseif/else if
- 流程控制的替代語法
- while
- do-whille
- for
- foreach
- break
- continue
- switch
- declare
- return
- require
- include
- require_once
- include_once
- goto
- 函數
- 用戶自定義函數
- 函數的參數
- 返回值
- 可變函數
- 內部 (內置)函數
- 匿名函數
- 類與對象
- 簡介
- 基本概念
- 屬性
- 類的自動加載
- 構造函數
- 訪問控制(可見性)