我已经使用自定义的 __isset()
函数很长时间了,它的存在基本上只是为了让代码看起来更好并节省输入时间:
function __isset(&$aVariable, $aDefault = null) {
return isset($aVariable) ? $aVariable : $aDefault;
}
但是今天我发现这个函数其实是在创建不存在的变量!当您检查数组属性时,这是一个大问题:
$lArray = ('A', 'B', 'C');
$lValue = __isset($lArray[4], 'D');
print_r($lArray); // Outputs 0=>'A', 1=>'B', 2=>'C', 3=>NULL
所以我想要的是从 PHP 复制当前的 isset()
函数并更改它以执行我想要的操作。问题是我在 PHP 源代码中找不到实际的 isset()
函数...
很多框架都在使用 isset()
函数,就像我在第一个示例中展示的那样,我无法想象我是第一个遇到这个问题的人。
所以我的问题是:
- 在哪里可以找到实际的
isset()
PHP 函数? - 我在哪里可以找到实际的
isset()
C 函数(真正的实现)? - 如何更改代码使其返回值,或指定的默认值?
最佳答案
为什么会这样?删除 &
就这样:
function __isset($aVariable, $aDefault = null) {
return isset($aVariable) ? $aVariable : $aDefault;
}
关于php - 复制 PHPs 函数集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724353/