PHP如何知道变量是否是引用?

6 php reference

我想用call_user_func_array调用一个函数但是我注意到如果一个参数是函数定义中的引用并且是call_user_func_array中的一个简单值,则会出现以下警告:警告:参数1到test()期望是一个引用,值特定

这是我想要做的一个简单的例子:

<?php
$a = 0;
$args = array($a);
function test(&$a) {
    $a++;
}
$a = 0;
call_user_func_array('test', $args);
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是:我怎么知道一个值(在这种情况下是$ args的第一个值)是否是一个引用?

Tim*_*ter 1

查看此 PHP 文档页面上的评论:

http://php.net/manual/en/language.references.spot.php

  • 我所看到的只是通过修改一个数组/对象/变量并检查另一个数组/对象/变量是否也被修改来检查两个数组/对象/变量是否指向同一内存区域的函数。在我的代码(不是示例,而是真实的代码)中,我只有参数数组,我想知道一个参数是否是引用。这样,如果回调函数需要引用并且数组包含一个简单值,我可以抛出错误。 (3认同)