我对 php 没有经验(我是新人)。
我正在尝试使用这段代码http://mach13.com/how-to-get-a-variable-name-as-a-string-in-php查找变量的名称,但我不断收到:
该行的数组到字符串转换:
$aDiffKeys = array_keys (array_diff_assoc ($aDefinedVars_0, $aDefinedVars));
当我使用时,我还得到“只有变量应该通过引用传递”
var_name($a, get_defined_vars());
我怎样才能让这些消息消失?因为整个代码正在运行(我得到了所需的输出)。
这是代码
<?php
function var_name (&$iVar, &$aDefinedVars)
{
foreach ($aDefinedVars as $k=>$v)
$aDefinedVars_0[$k] = $v;
$iVarSave = $iVar;
$iVar =!$iVar;
$aDiffKeys = array_keys (array_diff_assoc ($aDefinedVars_0, $aDefinedVars));
$iVar = $iVarSave;
return $aDiffKeys[0];
}
$a=12;
echo var_name($a,get_defined_vars());
//ini_set('display_errors', '0');
?>
数组到字符串转换的通知从 PHP v5.4.0 开始。自从array_diff_assoc()
不递归搜索,它通知您它发现数组中的值之一也是一个数组,并且必须将其转换为字符串。
这是有关如何使用的示例array_diff_assoc()
对于多维数组...https://www.php.net/manual/en/function.array-diff-assoc.php#73972
或者也许切换出去array_diff_assoc()
for array_diff_key()
如果您只比较密钥,是否可以达到您的目的?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)