亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP填坑——函數

2019-11-08 02:08:57
字體:
來源:轉載
供稿:網友

php填坑——函數

測試環境 PHP version 5.3.29/5.6.29/7.1.0 Apache 2.4.25

函數參數

Example-1

自PHP 5.0 支持參數類型聲明為對象類型,即參數必須是某個對象的類; 自PHP 5.1 新增參數類型聲明為array,即形參類型必須是數組; 自PHP 7.0 新增函數參數類型為量類型,同時參數類型聲明支持嚴格模式,此時只支持標量類型int string float bool。 <?php //PHP 7.0 declare(strict_types=1); //聲明嚴格類型 function sum(int $a, int $b) { return $a + $b; } var_dump(sum(1, 2)); var_dump(sum(1.5, 2.5)); //類型錯誤

Example-2

方法的參數類型約束為對象類型:

<?php class C {} class D extends C {} // This doesn't extend C. class E {} function f(C $c) { echo get_class($c)."/n"; } f(new C); f(new D); f(new E); //錯誤,參數必須是C的實例

Example-3

PHP5.6+版本支持可變數量的參數列表。在 PHP 5.5 及更早版本中,使用函數 func_num_args(),func_get_arg(),和 func_get_args() 。

<?php function sum(...$numbers) { $accum = 0; foreach ($numbers as $n) { $accum += $n; } return $accum; } echo sum(1, 2, 3, 4);

Example-4

使用默認參數時,任何默認參數必須放在任何非默認參數的右側;否則,函數將不會按照預期的情況工作。

<?php function makeyogurt($type = "acidophilus", $flavour){ return "Making a bowl of $type $flavour./n"; } echo makeyogurt("raspberry"); // won't work as expected

可變函數

可變函數不能用于例如 echo,PRint,unset(),isset(),empty(),include,require 以及類似的語言結構。

Example-1

調用靜態方法時,函數調用要比靜態屬性優先。

<?phpclass Foo{ static $variable = 'static property'; static function Variable() { echo 'Method Variable called'; }}echo Foo::$variable; // This prints 'static property'. $variable = "Variable";Foo::$variable(); // This calls $foo->Variable()

Example-2

PHP 7.0 支持類調用方法為可變方法,而之前的版本則報錯。

<?phpnamespace Project/TestClass; class Test { static function funcToCall() { echo "test"; } }namespace Project/OtherTestClass; class OtherTest { static function callOtherFunc() { $func = '/Project/TestClass/Test::funcToCall'; $func(); } } echo OtherTest::callOtherFunc(); //outputs test

匿名函數

匿名函數(Anonymous functions),也叫閉包函數(closures),允許臨時創建一個沒有指定名稱的函數。最經常用作回調函數(callback)參數的值。

Example-1

閉包函數也可以作為變量的值來使用。PHP 會自動把此種表達式轉換成內置類 Closure 的對象實例。

<?php //PHP 7.0+ (function($name){ echo 'My name is ' . $name; })('Zhang San');

Example-2

閉包可以從父作用域中繼承變量。 任何此類變量都應該用 use 語言結構傳遞進去。

<?php $fruits = ['apples', 'oranges']; $example = function () use ($fruits) { echo $fruits[0]; }; $example();

Example-3

PHP 5.4 $this可用于匿名函數。

<?php class Test{ public function testing(){ return function() { var_dump($this); }; } } $object = new Test; $function = $object->testing(); $function();

Return

如果在全局范圍中調用,則當前腳本文件中止運行。 如果當前腳本文件是被 include 的或者 require 的,則控制交回調用文件。 如果當前腳本是被 include 的,則 return 的值會被當作 include 調用的返回值。 如果在主腳本文件中調用 return,則腳本中止運行。 如果當前腳本文件是在 php.ini 中的配置選項 auto_prepend_file 或者 auto_append_file 所指定的,則此腳本文件中止運行。

Example-1

PHP 7.0 可以強制函數返回類型。語法為function FunctionName ($arg1, $arg2, ...) : TYPE { }

<?php declare(strict_types=1); //strict_types function welcome($name):string { return $name; } echo welcome(90.99);?><?php class C {} function getC(): C { return new C; } var_dump(getC()); //object(C)#1 (0) { }?>

Example-2

PHP 7.0 如果指定了返回類型,則不能為null.

<?phpdeclare(strict_types=1);function add2ints(int $x, int $y):int{ $z = $x + $y; if ($z===0){ return null; //返回類型錯誤 } return $z;}$a = add2ints(3, 4);echo is_null($a) ? 'Null' : $a;$b = add2ints(-2, 2);echo is_null($b) ? 'Null' : $b;exit();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久97久久97精品免视看| 国产精品久久久久av| 66m—66摸成人免费视频| 亚洲片国产一区一级在线观看| 欧美一级片一区| 久久久人成影片一区二区三区观看| 日本精品免费观看| 色偷偷av亚洲男人的天堂| 欧美日韩国产二区| 日韩欧美精品网站| 久久久久久有精品国产| 日韩视频永久免费观看| 午夜精品久久久久久久久久久久| 欧美日韩国产综合新一区| 国产免费一区二区三区在线观看| 久久精品国产精品亚洲| 国产不卡一区二区在线播放| 久久精品电影网站| 久久精品国产99国产精品澳门| 97精品视频在线| 午夜欧美不卡精品aaaaa| 欧美孕妇毛茸茸xxxx| 97精品久久久中文字幕免费| 成人精品视频久久久久| 日韩高清免费观看| 亚洲激情第一页| 精品亚洲永久免费精品| 国产精品6699| 欧美激情手机在线视频| 亚洲欧美日韩中文在线制服| 色99之美女主播在线视频| 国产精品爽爽爽| 久久色免费在线视频| 亚洲第一精品福利| 精品久久久久久中文字幕大豆网| 国产亚洲欧美日韩一区二区| 国产免费一区二区三区在线能观看| 欧美尺度大的性做爰视频| 亚州成人av在线| 色噜噜亚洲精品中文字幕| 成人亚洲激情网| 亚洲欧洲自拍偷拍| 国产美女搞久久| 久久亚洲精品小早川怜子66| 热99在线视频| 国产精品久久久久影院日本| 久久精品国产亚洲一区二区| 欧美性资源免费| 欧美性猛交xxxx久久久| 奇米四色中文综合久久| 亚洲成av人影院在线观看| 久热精品在线视频| 7777精品久久久久久| 国产精品白嫩初高中害羞小美女| 亚洲精品www| 精品久久久久久久久久久久久久| 亚洲人成电影网站| 欧美另类极品videosbest最新版本| 日本精品久久中文字幕佐佐木| 欧洲成人免费视频| 91伊人影院在线播放| 国产成人综合亚洲| 欧美成人精品激情在线观看| yellow中文字幕久久| 国产精品美女久久久久久免费| 国产精品免费久久久久影院| 国内精品久久久久影院 日本资源| 精品视频在线播放免| 日韩中文字幕在线观看| 欧美视频专区一二在线观看| 秋霞成人午夜鲁丝一区二区三区| 欧美日韩精品在线| 日韩网站在线观看| 亚洲欧洲黄色网| 在线精品视频视频中文字幕| 国产精品日韩一区| 日韩在线观看免费| 国产精品免费久久久| 日韩中文字幕在线观看| 久久人91精品久久久久久不卡| 欧美成人精品在线观看| 日韩av123| 亚洲视频电影图片偷拍一区| 色噜噜久久综合伊人一本| 日韩电影大片中文字幕| 亚洲精品在线观看www| 欧美性在线视频| 亚洲欧美精品伊人久久| 欧美在线日韩在线| 一本色道久久综合狠狠躁篇怎么玩| 欧美激情国产精品| 97精品国产97久久久久久春色| 亚洲欧美日韩国产成人| 亚洲激情视频在线| 亚洲毛片在线观看.| 精品日韩中文字幕| 国产日韩在线精品av| 91精品视频在线看| 亚洲综合色激情五月| 懂色aⅴ精品一区二区三区蜜月| 欧美大片在线影院| 亚洲精品美女久久| 欧美黑人xxxⅹ高潮交| 一区二区三区美女xx视频| 日韩精品中文字| 欧美日韩加勒比精品一区| 日韩在线www| 国产男人精品视频| 久久99久久99精品中文字幕| 97国产精品视频| 精品国偷自产在线视频99| 一本大道亚洲视频| 国产精品欧美亚洲777777| 亚洲欧美日韩国产中文专区| 亚洲日韩第一页| 国产精品久久久久久av福利| 日本午夜人人精品| 亚洲成人动漫在线播放| 欧美亚洲另类视频| 亚洲精品美女在线观看| 亚洲电影中文字幕| 国产精品久久久久77777| 成人免费看片视频| 日韩av有码在线| 亚洲成人激情在线| 亚洲加勒比久久88色综合| 亚洲bt欧美bt日本bt| 欧美精品久久久久久久| 久久电影一区二区| 欧美中文字幕视频在线观看| 91在线观看免费观看| 亚洲一区中文字幕在线观看| 亚洲欧美日本伦理| 日本一本a高清免费不卡| 亚洲成色www8888| 91欧美精品午夜性色福利在线| 萌白酱国产一区二区| 欧美又大粗又爽又黄大片视频| 欧美激情videos| 日韩在线视频国产| 性欧美激情精品| 91精品国产综合久久香蕉最新版| **欧美日韩vr在线| 欧美一级电影免费在线观看| 亚洲电影成人av99爱色| 少妇高潮久久久久久潘金莲| 日韩av高清不卡| 一区二区三区在线播放欧美| 亚洲成人免费在线视频| 国产精品一区二区av影院萌芽| 久久久久久久国产精品| 亚洲国产欧美一区二区三区久久| 日韩女优在线播放| 欧美尺度大的性做爰视频| 国产精品成人v| 亚洲a一级视频| 6080yy精品一区二区三区| 国产精品美女主播在线观看纯欲| 国产精品精品久久久| 日韩欧美亚洲综合| 欧美一级电影久久| 欧美视频在线观看 亚洲欧| 亚洲丝袜一区在线| 亚洲精品中文字幕有码专区|