📜  PHP |检查变量是否是函数(1)

📅  最后修改于: 2023-12-03 15:33:36.206000             🧑  作者: Mango

PHP | 检查变量是否是函数

在 PHP 中,有时需要检查一个变量是否是函数。可以使用 is_callable() 函数来完成这个任务。

is_callable()

is_callable() 函数检查变量是否为合法的可调用结构。如果是,则返回 TRUE,否则返回 FALSE。

语法
is_callable(mixed $var, bool $syntax_only = false, string &$callable_name = null)
参数
  • $var:要检查的变量。
  • $syntax_only(可选):如果设置为 true,则只检查函数名称的格式是否正确,不会实际调用该函数。
  • $callable_name(可选):将被赋值为传递给 is_callable() 函数的可调用名称。
返回值

如果 $var 是可调用的,则返回 TRUE,否则返回 FALSE。

示例代码
<?php
function my_func() {
    echo 'Hello World!';
}

$var1 = 'my_func';
$var2 = 'unknown_func';

if (is_callable($var1)) {
    echo '$var1 is callable.';

    // 调用 $var1 变量指向的函数
    $var1();
} else {
    echo '$var1 is not callable.';
}

if (is_callable($var2)) {
    echo '$var2 is callable.';
} else {
    echo '$var2 is not callable.';
}
?>

以上代码将输出:

$var1 is callable.
Hello World!
$var2 is not callable.

在这个例子中,先定义了一个 my_func() 函数。然后分别定义 $var1 和 $var2 变量,分别赋值为 'my_func' 和 'unknown_func'。

接着,分别使用 is_callable() 函数来检查这两个变量是否可调用,并使用条件语句来输出检查结果。如果一个变量是可调用的,还会尝试调用这个函数。