我已经使用自定义__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
所以我想要的是isset()
从 PHP 复制当前函数并将其更改为我想要的。isset()
问题是我在 PHP 源代码中找不到实际的函数......
许多框架都在使用isset()
我在第一个示例中展示的功能,我无法想象我是第一个遇到这个问题的人。
所以我的问题是:
- 我在哪里可以找到实际的
isset()
PHP 函数? - 我在哪里可以找到实际的
isset()
C 函数(真正的实现)? - 如何更改代码以使其返回值或指定的默认值?