91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP方法的返回值是什么

發布時間:2021-07-13 16:00:45 來源:億速云 閱讀:145 作者:chen 欄目:大數據

本篇內容介紹了“PHP方法的返回值是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

 

PHP方法的返回值

不僅是PHP,大部分編程語言的函數或者叫方法,都可以用return來定義方法的返回值。從函數這個叫法來看,本身它就是一個計算操作,因此,計算總會有個結果,如果你在方法體中處理了結果,比如進行了持久化保存,那么這個函數就不用返回任何內容。而計算的結果是要給外部使用的,這時候就要將計算結果進行返回了。

return關鍵字


function testA($a, $b)
{
   echo $a + $b;
}

var_dump(testA(1, 2)); // NULL

function testB($a, $b)
{
   return $a + $b;
}

var_dump(testB(1, 2)); // 3

function testC($a, $b)
{
   return;
   echo $a + $b; // 后面不會執行了
}

var_dump(testC(1, 2)); // NULL

 

不用return或者直接return;都會返回NULL,return會阻斷方法體中后續代碼的執行。如果要返回多個值,只能使用數組組裝數據。


function testD($a, $b)
{
   return [
       $a + $b,
       $a * $b,
   ];
}

var_dump(testD(1, 2)); // [3, 2]

 

返回值類型聲明

關于返回值這一塊還是比較好理解的。下面才是重頭戲,在PHP7的新特性中,返回值聲明是非常亮眼的一道風景。


function testE($a, $b) : bool
{
   if($a+$b == 3){
       return TRUE;
   }else{
       return NULL;
   }
}

var_dump(testE(1, 2)); // true
var_dump(testE(1.1, 2.2)); //TypeError: Return value of testE() must be of the type bool, null returned

 

如上例所示,如果返回值不是bool類型,那么將直接報TypeError的錯誤。

那么定義了返回值類型聲明有什么好處呢?我們在PHP方法參數的那點事兒有介紹過類型聲明的好處,這里就不過多贅述了,不管是參數類型聲明還是返回值類型聲明,都是一樣的。


function testF($a, $b): array
{
   return [
       $a + $b,
       $a * $b,
   ];
}
var_dump(testF(1, 2)); // [3, 2]

interface iA{

}
class A implements iA
{}
class B extends A
{
   public $b = 'call me B!';
}

function testG(): A
{
   return new B();
}

function testH(): B
{
   return new B();
}

function testI(): iA
{
   return new B();
}

var_dump(testG()); // B的實例
var_dump(testH()); // B的實例
var_dump(testI()); // B的實例

 

同樣,數組和類類型都是可以聲明定義的。不過除此之外,返回值聲明還可以定義void。它的作用其實就是聲明返回值為NULL,不能直接寫:NULL,而只能用:void來進行聲明。


function testJ(): void
{
   echo "testJ";
   // return 1;
}
var_dump(testJ());

 

這時,如果嘗試進行任何的return返回,都會直接報錯:Fatal error: A void function must not return a value。

總結

我們可以看到,PHP在不斷的發展中一直在吸取其他語言中的優秀特性。很明顯,添加這些類型聲明的目的就是為了將來的編譯器做準備的。這也是PHP8的一個重要特性,讓我們拭目以待吧!

測試代碼:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/PHP%E6%96%B9%E6%B3%95%E7%9A%84%E8%BF%94%E5%9B%9E%E5%80%BC.php

參考文檔:https://www.php.net/manual/zh/functions.returning-values.php

“PHP方法的返回值是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

英超| 荥阳市| 尚义县| 美姑县| 齐齐哈尔市| 旺苍县| 莫力| 扬中市| 云梦县| 红河县| 桃园市| 屏东县| 潼南县| 岳西县| 承德县| 康定县| 刚察县| 荆州市| 饶阳县| 德格县| 句容市| 四川省| 读书| 西平县| 海晏县| 祁门县| 上饶市| 华坪县| 新巴尔虎左旗| 榆林市| 赞皇县| 丹江口市| 蒲江县| 商水县| 南乐县| 江陵县| 新建县| 阳泉市| 沙田区| 双流县| 嘉祥县|