麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PHP類型約束的詳細(xì)介紹(附代碼)

2020-03-22 19:50:06
字體:
供稿:網(wǎng)友

本篇文章給大家?guī)淼膬?nèi)容是關(guān)于PHP類型約束的詳細(xì)介紹(附代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

導(dǎo)語:所謂類型約束,即定義一個變量的時候,必須指定其類型,并且以后該變量也只能存儲該類型數(shù)據(jù)。PHP 雖然是弱類型語言,但是在 PHP 5 已經(jīng)支持類型約束,包括對象、接口、數(shù)組,在 PHP 7 之后支持標(biāo)量類型約束,下面簡單寫幾個示例。

標(biāo)量類型、數(shù)組

在參數(shù)中指明類型,如果不一致,會拋出一個可捕獲的致命錯誤

 ?php * 數(shù)組類型約束 * @param array $arrfunction printArray(array $arr) echo implode( , , $arr);printArray(array(1, 2, 3));// 1,2,3printArray( 1 // Fatal error: Uncaught TypeError: Argument 1 passed to printArray() must be of the type array, string given, called in D:/WWW/test.php on line 13 and defined in D:/WWW/test.php:7 Stack trace: #0 D:/WWW/test.php(13): printArray( 1 ) #1 {main} thrown in D:/WWW/test.php on line 7

如上所示,標(biāo)量類型也是如此

 ?php * 標(biāo)量類型約束 * @param string $name * @param int $age * @param float $height * @param bool $isBoyfunction sayInfo(string $name, int $age, float $height, bool $isBoy) echo 姓名: . $name . ,年齡: . $age . ,身高: . $height . ,是否為男孩: . ($isBoy ? 是 : 否 sayInfo( tom , 12, 134.5, true);// 姓名:tom,年齡:12,身高:134.5,是否為男孩:是

對象、接口

類型約束也可以指定為對象或者接口。首先定義一個 Human 接口,Boy 和 Girl 兩個類分別實現(xiàn)接口

 ?php * 接口 * Interface Humaninterface Human html' target='_blank'>public function say(); public function run(); * 實現(xiàn) Human 接口 * Class Boyclass Boy implements Human public function say() echo a boy say  public function run() echo a boy run  * 實現(xiàn) Human 接口 * Class Girlclass Girl implements Human public function say() echo a girl say  public function run() echo a girl run }

接下來新建一個類來測試

 ?phpinclude ./human.php class Action * Boy 對象類型約束 * @param Boy $boy public function boySay(Boy $boy) $boy- say(); * Girl 對象類型約束 * @param Girl $girl public function girlSay(Girl $girl) $girl- say(); * Human 接口類型約束 * @param Human $obj public function humanRun(Human $obj) $obj- run();$obj = new Action();$obj- boySay(new Boy());// a boy sayecho br / $obj- girlSay(new Girl());// a girl sayecho br / $obj- humanRun(new Boy());// a boy runecho br / $obj- humanRun(new Girl());// a girl run

當(dāng)類型約束為具體對象 Boy 或者 Girl 時,只能傳入要求的對象。當(dāng)類型約束為接口 Human 時,可以傳入實現(xiàn)接口的類 Boy 或 Girl。

【相關(guān)推薦:PHP視頻教程】

以上就是PHP類型約束的詳細(xì)介紹(附代碼)的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 午夜精品久久久久久久久久久久久蜜桃 | h视频在线免费看 | 在线播放h | 在线播放一级片 | 免费毛片免费看 | 最新se94se在线欧美 | 欧美性猛交一区二区三区精品 | 爱射av| 99在线免费观看视频 | 羞羞视频入口 | 一区二区三区日韩在线观看 | 成年人小视频在线观看 | 欧美高清一级片 | 黄色免费在线视频网站 | 毛片免费观看视频 | 亚洲操比视频 | 黄色片在线免费播放 | 在线播放av片 | 亚洲国产高清视频 | 一级黄色大片在线观看 | 久久精品网 | 国产精品999在线观看 | 黄色网址在线视频 | 99爱精品在线 | 国产精品久久久久久久久久尿 | 成人午夜精品久久久久久久3d | 国产一级毛片高清视频完整版 | 欧美一区二区黄色 | 亚洲国产精品久久久久久久 | 久久亚洲网 | 在线观看中文字幕av | 亚洲码无人客一区二区三区 | 久久国产夫妻视频 | av成人在线电影 | 一级网站 | av噜噜在线 | 久久99国产综合精品 | 免费a级片在线观看 | www.guochan| 成品片a免费直接观看 | 欧美毛片免费观看 |