如何检查变量是否在PHP中通过引用传递
发布时间:2020-12-13 17:26:41 所属栏目:PHP教程 来源:网络整理
导读:直截了当: 我想写一些代码来告诉变量是否通过引用传递. 例如: ?phpfunction isReference($variable) { //return TRUE if $something was passed //return FALSE if $something was passed}$text = 'Anything';$a = isReference($text); //return TRUE$b =
直截了当:
我想写一些代码来告诉变量是否通过引用传递. 例如: <?php function isReference($variable) { //return TRUE if &$something was passed //return FALSE if $something was passed } $text = 'Anything'; $a = isReference(&$text); //return TRUE $b = isReference($test); //return FALSE ?> 对于那些好奇的人 – 我为什么需要它? 提前致谢. 解决方法
这是一种不使用debug_zval_dump函数的方法:
function isReference($variable) { $variable = array($variable); $arg = func_get_arg(0); $isRef = isset($arg[0]) && $arg === array($variable[0]); $variable = $variable[0]; return $isRef; } 注意:如果这不起作用,只有一个案例: $text = array(&$text); // although i don't see why such a structure could be used isReference($text); // will wrongly return false 显然,您可以通过使用随机唯一键(而不是0)来绕过此限制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容