復制代碼 代碼如下:
 
/** 
* 獲取變量名 
* 
* @param $string 
* @return $string 
* 
* $test = "helo"; 
* $test2 = "helo"; 
* getVarName($test2); 
*/ 
function getVarName(&$src){ 
//存儲當前變量值 
$save = $src; 
//存儲所有變量值 
$allvar = $GLOBALS; 
//在函數中不要直拉遍歷$GLOBALS,會出現堆棧問題 
foreach($allvar as $k=>$v){ 
//變量值相同,可能不是相同變量,因多個變量的值可能相同 
if ($src == $v){ 
//改變當前變量$src的值 
$src = 'change'; 
//如果$GLOBALS[$k]也跟著改變,那就是同一個變量。 
if ($src == $GLOBALS[$k]){ 
//echo "/$$k name is $k 
"; 
//還原變量值 
$src = $save; 
return $k; 
} 
} 
} 
} 
復制代碼 代碼如下:
 
$test2 = "hello"; 
$countNum=0; 
echo getVarName($test2); 
//按道理應該輸出為”test2“,但是輸出的是"countNum", 
新聞熱點
疑難解答