php - 复制 PHPs 函数集

标签 php isset

我已经使用自定义的 __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() 函数,就像我在第一个示例中展示的那样,我无法想象我是第一个遇到这个问题的人。

所以我的问题是:

  1. 在哪里可以找到实际的 isset() PHP 函数?
  2. 我在哪里可以找到实际的 isset() C 函数(真正的实现)?
  3. 如何更改代码使其返回值,或指定的默认值?

最佳答案

为什么会这样?删除 & 就这样:

function __isset($aVariable, $aDefault = null) {
    return isset($aVariable) ? $aVariable : $aDefault;
}

关于php - 复制 PHPs 函数集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12724353/

相关文章:

php - 我应该在哪里使用 isset() 和 !empty()

php - 我的条件不起作用(准备好的查询和 POST 方法 + isset 函数)

php - Memcache - 本地或专用服务器?

javascript - 空格导致我的 javascript 显示不正确( trim 输出)

php - Twitter Typeahead 标签从 MySQL 获取数据

php - MySQL 查询不返回新插入的记录

PHP 检查 False 或 Null

php - 有没有更好的方法来创建数组键以避免丢失索引通知?

php - PDO:设置和 session 不起作用

php - SimpleSAMLPHP 重定向循环