在函数中删除数组元素
Delete an element of array in function
我正在使用一些函数来删除变量。我的代码是这样的:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($arr['var2']);
}
foo();
但是在 PHP 手册中:
To unset() a global variable inside of a function, then use the
$GLOBALS array to do so:
unset($GLOBALS['arr']['var2']);
不取消任何设置,因为 $GLOBALS['arr']['var2']
不存在。
我只想在函数内取消设置 GLOBAL 数组元素。
它存在,因为 GLOBALS 是超变量并且它拥有其他 var 所拥有的一切。
编辑:
我尝试这样做,但在我尝试调用 foo()
之后我尝试 print_r($arr)
它同时显示 var1 和 var2,如果我尝试 print_r($GLOBALS['arr']['var2'])
它会显示未定义的索引....也许是配置...
edit2
我在脚本中输入错误。所以它正在工作...
完整的工作代码:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($GLOBALS['arr']['var2']);
}
foo();
unset($GLOBALS['arr']['var2']);
正确。
<?php
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
unset($GLOBALS['arr']['var2']);
}
var_dump($arr);
foo();
var_dump($arr);
您可以通过引用传递变量:
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(&$a){
unset($a['var2']);
}
foo($arr);
https://secure.php.net/manual/en/language.references.pass.php
我正在使用一些函数来删除变量。我的代码是这样的:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($arr['var2']);
}
foo();
但是在 PHP 手册中:
To unset() a global variable inside of a function, then use the $GLOBALS array to do so:
unset($GLOBALS['arr']['var2']);
不取消任何设置,因为 $GLOBALS['arr']['var2']
不存在。
我只想在函数内取消设置 GLOBAL 数组元素。
它存在,因为 GLOBALS 是超变量并且它拥有其他 var 所拥有的一切。
编辑:
我尝试这样做,但在我尝试调用 foo()
之后我尝试 print_r($arr)
它同时显示 var1 和 var2,如果我尝试 print_r($GLOBALS['arr']['var2'])
它会显示未定义的索引....也许是配置...
edit2
我在脚本中输入错误。所以它正在工作...
完整的工作代码:
<?
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
global $arr;
unset($GLOBALS['arr']['var2']);
}
foo();
unset($GLOBALS['arr']['var2']);
正确。
<?php
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(){
unset($GLOBALS['arr']['var2']);
}
var_dump($arr);
foo();
var_dump($arr);
您可以通过引用传递变量:
$arr['var1'] = 'Hello';
$arr['var2'] = 'world';
function foo(&$a){
unset($a['var2']);
}
foo($arr);
https://secure.php.net/manual/en/language.references.pass.php