如何取消设置表示数组元素的变量?
function remove($var) {
unset($$var);
}
$x=array('a'=>1,'b'=>2);
remove('$x["a"]');
var_dump(isset($x['a']));
上面的代码不会取消设置数组元素x['a']
。我需要使用相同的remove()函数来处理$_GET['ijk']
。
答案 0 :(得分:1)
只需使用unset()
或(unset)
演员。
如果你想使用一个函数取消设置,这样的事情会更好。
function removeMemberByKey(&$array, $key) {
unset($array[$key]);
}
答案 1 :(得分:1)
你可以尝试,
function remove(&$var,$key) {
unset($var[$key]);
}
$x=array('a'=>1,'b'=>2);
remove($x,'a');
var_dump(isset($x['a']));
答案 2 :(得分:0)
变量变量不能与超全局变量一起使用,因此如果您需要它也适用于$_GET
,则需要使用不同的方法。
答案 3 :(得分:0)
Try This:
<?php
/* Unset All Declair PHP variable*/
$PHP_Define_Vars = array_keys(get_defined_vars());
foreach($PHP_Define_Vars as $Blast) {
// or may be reset them to empty string# ${"$var"} = "";
unset(${"$Blast"});
}
?>
答案 4 :(得分:-2)
unset
更容易输入remove
与数组元素一起使用时,数组仍然存在
您可以重写函数以将参数视为参考;
编辑:更新为使用alex的代码
function remove(&$array, $key){
unset($array[$key]);
}
remove($x,'a');