为什么这样使用这个P函数会有不同的结果

为什么这样使用这个P函数会有不同的结果



[复制到剪切板]
CODE:
function P($name,$value=""){
  
$var_o=$GLOBALS['var_o'];
  if(
$value){
   
$var_o[$name]=$value;
   
$GLOBALS['var_o']=$var_o;
   return;
  }
  return 
$var_o[$name];
}

$mainurl=P('mainurl','123456');
echo 
$mainurl;
print_r($var_o); ;

最后$mainurl为空值
$var_o['mainurl']==123456
怎么会这样呢?



[复制到剪切板]
CODE:
function P($name,$value=""){
  
$var_o=$GLOBALS['var_o'];
  if(
$value){
   
$var_o[$name]=$value;
   
$GLOBALS['var_o']=$var_o;
   return 
$var_o[$name];
  }
  return 
$var_o[$name];
}

$mainurl=P('mainurl','123456');
echo 
$mainurl;
print_r($var_o); ;

自己对比下,看看问题在那里吧
如履薄冰

谢谢楼上的兄弟。