我已经使用了一个自定义__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; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。