我需要类似下面的代码:
码
<?php
$var1='my var 1';
$array1['1']='first position of my array 1';
$array1['2']='second position of my array 1';
echo name($var1);
echo "<br>";
echo name($array1);
function name($parameter){
...?...
}
?>
屏幕返回
var1
array1
所以,我需要编写一个函数,它给我一个变量的名称或我传递给它的数组。我怎么能这样做?
我将在另一个函数上使用此函数来执行某些任务......
答案 0 :(得分:1)
正如@bfavaretto所说,
这对我很好:
<?php
$var1='my var 1';
$array1['1']='first position of my array 1';
$array1['2']='second position of my array 1';
echo name($var1);
echo "<br>";
echo name($array1);
function name(&$var, $scope=false, $prefix='unique', $suffix='value'){
if($scope) $vals = $scope;
else $vals = $GLOBALS;
$old = $var;
$var = $new = $prefix.rand().$suffix;
$vname = FALSE;
foreach($vals as $key => $val) {
if($val === $new) $vname = $key;
}
$var = $old;
return $vname;
}
?>
答案 1 :(得分:0)
尝试按以下方式修改功能(未经测试)
function print_var_name($var) {
$left=var_export($var, true);
foreach($GLOBALS as $var_name => $value) {
$right=var_export($value, true);
if ($left === $right) {
return $var_name;
}
}
return false;
}