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,那么这时我们在函数里面输出这个变量,将不会报错。

 

代码

 1 <?php
 2 // function text(){
 3 
 4 // }
 5 // text();
 6 $str = function (){
 7     echo '这里是匿名函数';
 8 };
 9 $str();
10 echo '<hr/>';
11 $str1 = function ($usernaem){
12     echo '这里是有参数的匿名函数';
13     echo $usernaem;
14 };
15 $str1('Clive');
16 echo '<hr/>';
17 $str2 = function ($username){
18     return $username;
19 };
20 echo $str2('51zxw');
21 echo '<hr/>';
22 
23 /*
24  *  func_num_args()
25      func_get_arg()
26      func_get_args()
27  * */
28 function text(){
29     echo func_num_args();
30     echo '<hr/>';
31     echo func_get_arg(0);
32     echo '<hr/>';
33     print_r(func_get_args());
34     
35 }
36 text('clive','12312','成都');

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

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

 

 

总结:

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

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

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8545917.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值