php匿名函数和可变参数函数

时间:2023-03-10 03:49:12
php匿名函数和可变参数函数

php匿名函数和可变参数函数

简介

直接上代码了:

<?php
$test1 = function($value)
{
echo $value;
}; $test1('HelloWorld');
?>

不懂你们有没有一种感觉,看见了js?近视的我,看到了function 就以为js…

好了,你看看最开始,是不是一个test1变量右边一个赋值符号,然后赋值符号(=号)的右边是一个函数?这个函数接收一个参数value,那么这个就是匿名函数,我们使用的时候直接用test1就OK了。

我们函数里面的内容是输出我们参数,我们使用test1传入参数‘HelloWorld’我们运行以下,发现输出了HelloWrold

如果我们要使用这个匿名函数之外的变量,如以下代码,我们要使用use语言结构:

<?php
$n=1;
$test1 = function($value)use ($n)
{
echo $value.' and '.$n;
}; $test1('HelloWorld');
?>

我们的n变量是在function的外部,如果我们要在function的内部使用这个变量的话我们需要使用use结构,就是在function后面传参括号的后面使用一个use然后一个圆括号里面加上我们要使用的变量$n,那么这时我们在函数里面输出这个变量,将不会报错。

代码

 <?php
// function text(){ // }
// text();
$str = function (){
echo '这里是匿名函数';
};
$str();
echo '<hr/>';
$str1 = function ($usernaem){
echo '这里是有参数的匿名函数';
echo $usernaem;
};
$str1('Clive');
echo '<hr/>';
$str2 = function ($username){
return $username;
};
echo $str2('51zxw');
echo '<hr/>'; /*
* func_num_args()
func_get_arg()
func_get_args()
* */
function text(){
echo func_num_args();
echo '<hr/>';
echo func_get_arg(0);
echo '<hr/>';
print_r(func_get_args()); }
text('clive','12312','成都');

php匿名函数和可变参数函数

11、就是普通的匿名函数的方式,和Java里面区别有一点

29、fun_num_args获取传入参数的个数,fun_get_arg(0)获取第0个参数

总结:

1、匿名函数就是只有function没有函数名的函数,我们直接把函数赋值给一个变量,然后用这个变量来操作这个函数就好,很像JS的写法

2、可变参数的形势就是很多时候参数的个数和别的都不能确定,所以没有办法在函数体里面直接写死,所以我们在函数体里面不写,然后调用函数的时候我们照传,然后在函数体里面通过fun_num_args()等就可以找到我们传入的参数的个数和值。