php教程|php手册
PHP,获取,变量,名,一段,代码,bug,百度,一下,关于,php,获取,变量,名,办法,都是,下面,这个,函
php教程-php手册
百度一下关于php获取变量名的办法都是下面这个函数。但是用了发现有点bug
开发在线系统源码,安装ubuntu20.4,tomcat安装出现问题,python电脑爬虫,目前php哪个版本好,附子SEO实战lzw
/**
* 获取变量名
*
* @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;
}
}
}
}
copy下来后发现这个怎么测试结果有时候对有时候不对,想了很久,终于弄明白,虽然很简单,但是自己还是记录下,希望遇到同样情况的同学注意。
火车头 采不到源码,vscode输入tab,ubuntu camke,tomcat主要错误,sqlite当下的时间,插件客服,web前端开发的主要框架,爬虫怎么分析html结构,站内搜索 php,大塘seo优化知识,个人网站首页素材,投票网页html代码,jforum 模板lzw
比如:现在我测试
资讯网站 开源 源码,vscode 相对行号,ubuntu如何注册自己的账号,tomcat 返回400,sqlite 经纬度,手机系统主题插件,网站前端框架模板,爬虫数据采集跟踪,php取数组的key,seo进阶教学视频seo顾问,*静态网站源码,qq用户注册网页模板,新闻门户模板,sql图书馆管理系统源代码,扫码点餐小程序开源lzw
$test2 = “hello”;
$countNum=0;
echo getVarName($test2);
//按道理应该输出为”test2“,但是输出的是”countNum”,
因为函数中的
if ($src == $v) 这里存在问题 比如$src=”hello”, $GLOBALS里面有个变量$countNUm=0;
这时在循环的时候判断 if ($src == $v) ,即”hello”==0,比较的结果为true,类型转换的时候“hello“转为整形为0,
然后就退出循环了,得到错误的结果。
一个解决办法就是 if ($src == $v) 改为 if($src===$v),即恒等。
如果我理解错了欢迎您指正,一起进步。