gpt4 book ai didi

php - 将未设置的变量传递给函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:04 25 4
gpt4 key购买 nike

我的代码:

function Check($Variable, $DefaultValue) {
if(isset($Variable) && $Variable != "" && $Variable != NULL) {
return $Variable;
}
else {
return $DefaultValue;
}
}

$a = Check(@$foo, false);
$b = Check(@$bar, "Hello");

//$a now equals false because $foo was not set.
//$b now equals "Hello" because $bar was not set.
  1. 当变量不存在并传递给函数(抑制错误)时,实际传递的是什么?
  2. 这个函数是否有任何未定义的行为?
  3. 是否有更好的方法来包装变量存在性测试并从函数提供默认值?
  4. 在测试变量时,isset() 在底层检查什么?

编辑:

默认值由用户定义。有时是数字,有时是字符串。

最佳答案

  1. 传递了 NULL,引发了通知错误。
  2. 不,函数只看到它的参数(它不关心它是如何被调用的)
  3. 您可以轻松指定默认值 - function func($mandatory, $optional = 'default value');
  4. 在其参数上使用函数的 Isset 是没有意义的,因为参数已经在函数签名中设置。

关于php - 将未设置的变量传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5551491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com