我正在使用一些函数来删除变量。我的代码是这样的:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($arr['var2']);
}
foo();
但在 PHP 手册中:
要 unset() 函数内部的全局变量,然后使用 $GLOBALS数组来执行此操作:
unset($GLOBALS['arr']['var2']);
不会取消任何设置,因为$GLOBALS['arr']['var2']
不存在。我只想取消设置函数内部的 GLOBAL 数组元素。
它存在,因为 GLOBALS 是超变量,它拥有其他 var 所拥有的一切。
编辑:
我试图这样做,但在我尝试调用foo()
之后,我尝试print_r($arr)
显示 var1 和 var2,如果我尝试print_r($GLOBALS['arr']['var2'])
显示未定义的索引......也许它是配置......
编辑2
我在脚本中打错了。所以它正在工作......
完整的工作代码:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($GLOBALS['arr']['var2']);
}
foo();