如何判断PHP方法/函数中的可选参数是否设置?

前端之家收集整理的这篇文章主要介绍了如何判断PHP方法/函数中的可选参数是否设置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个具有以下签名的方法/函数
foo($bar = 0)

在foo中,如何判断$bar是否设置? isset将永远返回TRUE,因为$bar被赋值为0,如果没有传递给foo.

检查0不是一个选项.我需要知道参数显式设置为0或默认为0之间的差异.

只需使用 func_num_args()来专门检查传入的参数数量.
<?PHP
function foo($bar = 0)
{
    echo "\nNumber of arguments: " . func_num_args();
}

  // Outputs "Number of arguments: 1"
foo(0);

  // Outputs "Number of arguments: 0"
foo();
?>

Live example

猜你在找的PHP相关文章