如下php代码
<?php
$type='a';
$target='type';
$a=array(1,2,3);
a($target);
function a($type)
{
global $$type;
var_dump($$type);
}?>
预计输出的是string(1)”a”
可是结果是
Notice: Undefined variable: a in D:/web/global.php on line 11
NULL
因为global的时候引进了$type,顺便把全局的$type引进了,函数内部的$type的值被修改成了全局的'a',而函数内部又没有$a,所以报错和打印null
不知道这是php的错误还是就是global的机制,不过个人认为这个情况下只引进$type就可以了