在php中,return在函數(shù)中使用,用于返回函數(shù)值和中止函數(shù)的執(zhí)行;函數(shù)使用return關(guān)鍵字返回?cái)?shù)據(jù),函數(shù)遇到return關(guān)鍵字會(huì)立即終止執(zhí)行。函數(shù)只能有一個(gè)返回值,但可以通過(guò)返回一個(gè)數(shù)組來(lái)得到返回多個(gè)值的效果。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
在 PHP 中,函數(shù)的返回值可以是任意類(lèi)型的數(shù)據(jù);當(dāng)然,函數(shù)也可以不返回值。函數(shù)使用 return 關(guān)鍵字返回?cái)?shù)據(jù),函數(shù)遇到 return 關(guān)鍵字會(huì)立即終止執(zhí)行。
return 語(yǔ)句在函數(shù)定義中的作用有兩個(gè):
-
一是返回函數(shù)值;
-
二是中止函數(shù)的執(zhí)行。
示例代碼如下:
<?php function square($num){ return $num * $num; } echo square(4); //outputs'16'. ?>
以上代碼的運(yùn)行結(jié)果為:
16
函數(shù)只能有一個(gè)返回值
函數(shù)不能返回多個(gè)值,但可以通過(guò)返回一個(gè)數(shù)組來(lái)得到類(lèi)似的效果。代碼如下:
<?php function small_numbers(){ return array(0, 1, 2); } list($zero, $one, $two) = small_numbers(); echo $zero . $one . $two; ?>
代碼執(zhí)行結(jié)果為:
012
$zero $one $two 的值分別是0、1、2。
返回值類(lèi)型聲明
在 PHP 7 中函數(shù)增加了返回值的類(lèi)型聲明。和參數(shù)類(lèi)型聲明類(lèi)似,在非嚴(yán)格模式下,PHP 將會(huì)嘗試將返回值類(lèi)型轉(zhuǎn)換成期望得到的值類(lèi)型,但在嚴(yán)格模式下,函數(shù)的返回值必須與聲明的返回類(lèi)型一致。
示例如下:
<?php function sum($a, $b):float{ return $a + $b; } var_dump( sum(1,2) ); ?>
以上程序會(huì)輸出:
float(3)
在嚴(yán)格模式下的代碼如下:
<?php declare(strict_types=1); function sum($a, $b):int{ return $a + $b; } var_dump( sum(1,2) ); var_dump( sum(1,2.1) ); ?>
以上程序的執(zhí)行結(jié)果為:
int(3) Fatal error: Uncaught TypeError: Return value of sum() must be of the type integer, float returned in /Library/WebServer/Documents/book/str.php:281 Stack trace: #0 /Library/WebServer/Documents/book/str.php(284): sum(1, 2.1) #1 {main} thrown in /Library/WebServer/Documents/book/str.php on line 281
推薦學(xué)習(xí):《PHP視頻教程》