直接上代码了:
; o- g6 ~' ], [% E: G+ {- <?php! e) x% t; w& G7 e
- $test1 = function($value)
& F" d: V# W( u - {
2 F4 R& l) Y; a - echo $value;& L1 Z; D# Y/ D; @4 q
- };5 G* x S p) _* o# K
3 u2 ]' o' n0 c; E! c+ P- $test1('HelloWorld');6 ~" W: V, @: S# N
- ?>
复制代码
( j+ x8 c0 y7 R% R& L1 Q+ `# ^0 @ k1 q% c
不懂你们有没有一种感觉,看见了js?近视的我,看到了function 就以为js… 好了,你看看最开始,是不是一个test1变量右边一个赋值符号,然后赋值符号(=号)的右边是一个函数?这个函数接收一个参数value,那么这个就是匿名函数,我们使用的时候直接用test1就OK了。 我们函数里面的内容是输出我们参数,我们使用test1传入参数‘HelloWorld’我们运行以下,发现输出了HelloWrold 如果我们要使用这个匿名函数之外的变量,如以下代码,我们要使用use语言结构:
/ J0 H) K; n# |/ F- <?php8 B6 K% ^- q- E- }* d
- $n=1;$ s: o/ u9 b* ^, l+ Z, M
- $test1 = function($value)use ($n)
& N9 g0 _) N2 I% r- _! L+ ? - {
: ~% |6 u" _( }0 `0 r3 x7 D7 | - echo $value.' and '.$n;* H- z+ J0 W$ N; f$ m6 G( a7 H
- };
( C$ s: r* G% S0 j' | S+ \
! r! P4 o$ E3 t6 F! E5 I- $test1('HelloWorld');
0 u) C: `- D b0 B6 t - ?>
复制代码 6 z- i$ d# D9 C6 c
$ ] o9 o0 V$ ]2 U" p6 s6 C7 d我们的n变量是在function的外部,如果我们要在function的内部使用这个变量的话我们需要使用use结构,就是在function后面传参括号的后面使用一个use然后一个圆括号里面加上我们要使用的变量$n,那么这时我们在函数里面输出这个变量,将不会报错。 ㄟ(◑‿◐ )ㄏ
$ C) u* V- h, L, i- S# g233…
0 w. g; ~3 ?% e6 @- x9 L% A |