函数
函数是将特定的代码放到一个区间里,方便下次的调用。
函数名和 PHP 中的其它标识符命名规则相同。有效的函数名以字母或下划线打头,后面跟字母,数字或下划线。
PHP 中的所有函数和类都具有全局作用域。PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数。
函数名是大小写无关的
要避免递归函数/方法调用超过 100-200 层,因为可能会使堆栈崩溃从而使当前脚本终止
function 函数名字(参数){
//函数体
}
函数参数
可以通过参数传递外部的信息到函数内部。
支持引用传递参数、默认参数
$a = 100;
function fn($arg) {
echo $arg;
}
fn($a);//100
引用传递
function fn(&$arg){
$arg = 10;
}
fn($a);
echo $a;//10;
默认值
$a = 100;
function fn($arg = 10){
echo $arg;
}
fn($a);//100
fn();//10
类型声明
类型声明允许函数在调用时要求参数为特定类型。 如果给出的值类型不对,那么将会产生一个错误
目前支持的类型有类名、接口名、self、array、callable、bool、int、float、string
function fn(int $a){
echo $a;
}
$c = "hello";
fn($c);//error
严格类型
默认情况下,如果能做到的话,PHP将会强迫错误类型的值转为函数期望的标量类型
但是在严格模式下,php不会转换。
declare(strict_types=1);
function fn(int $a){
echo $a;
}
$c = '1';//string
fn($c);//
可变参数
PHP 在用户自定义函数中支持可变数量的参数列表。在 PHP 5.6 及以上的版本中,由 ... 语法实现
function fn(...$arg){
foreach($arg as $v){
echo $v;
}
}
fn(1,2,3,4);
返回值
函数的返回值可以通过return 返回。
function fn(){
return "hello";
}
返回值类型
可以限制返回值的类型
declare(strict_types=1);
function($a):float {
return 1.1;
}
可变函数
PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数
function f(){
echo "1";
}
$a = 'f';
$a();//1
匿名函数
匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数 参数的值。当然,也有其它应用的情况。
闭包可以从父作用域中继承变量。 任何此类变量都应该用 use 语言结构传递进去
(function (){
echo '匿名函数';
})();
传递参数
$a = function ($arg) {
echo $arg;
}
$arg = 'hello';
$a($arg);//hello;
传递外部作用域变量
$arg = 'arg';
$f = function() use($arg){
echo $arg;
}
$f();
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
txttool.com 说一段 esp56物联 查询128 IP查询