该数组是多维的,并且具有可变数量的子键,例如
$arr[$a][$b][$c] = 'X';
在这种情况下为3。我想创建一个函数,它接受一个像这样的字符串a.b.c
作为参数并检查数组中是否包含该键,然后取消设置它:unset($arr[$a][$b][$c])。
如果我给它a.b
那么它应该取消设置($arr[$a][$b])
我将不胜感激任何帮助...
这是解决您的问题的递归方法:
function removeByStr($key, &$arr)
{
if(!is_array($key))
{
$key = explode(".", $key);
}
$i = array_shift($key);
if(count($key) == 0)
{
if(!isset($arr[$i]))
{
return;
}
unset($arr[$i]);
}
else if(isset($arr[$i]) && is_array($arr[$i]))
{
removeByStr($key, $arr[$i]);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)