PHP教程/ call_user_func function() use() {}
时间: 2023-07-16 13:16:08 浏览: 61
PHP教程:
call_user_func 是一个 PHP 内置函数,它允许动态地调用函数或方法。其语法如下:
```
call_user_func(callable $callback [, mixed $parameter [, mixed $... ]])
```
其中,$callback 表示要调用的函数或方法,$parameter 表示要传递给该函数或方法的参数。
示例:
```php
function sayHello($name) {
echo "Hello, " . $name . "!";
}
call_user_func('sayHello', 'Bob'); // 输出:Hello, Bob!
```
除了传递函数名之外,还可以传递一个数组,其中第一个元素为对象或类名,第二个元素为方法名。示例:
```php
class Greeting {
public function sayHi($name) {
echo "Hi, " . $name . "!";
}
}
$greeting = new Greeting();
call_user_func([$greeting, 'sayHi'], 'Alice'); // 输出:Hi, Alice!
```
另外,也可以使用匿名函数作为 $callback 参数。示例:
```php
$greet = function($name) {
echo "Greetings, " . $name . "!";
};
call_user_func($greet, 'David'); // 输出:Greetings, David!
```
function() use() {} 是 PHP 中的匿名函数语法,它允许在函数内部使用外部变量。其中,use() 语法用于将外部变量传递给匿名函数。示例:
```php
$message = "Hello, world!";
$greet = function() use($message) {
echo $message;
};
$greet(); // 输出:Hello, world!
```
在这个例子中,$message 是一个外部变量,在匿名函数中使用 use($message) 将其传递给了匿名函数。