[英]isset with variable array key count
该数组是多维的,并且具有可变数量的子键,例如
$arr[$a][$b][$c] = 'X';
在这种情况下为3。 我想创建一个函数,它接受像abc
这样的字符串作为参数,并检查数组中是否有该键,然后取消设置:unset($ arr [$ a] [$ b] [$ c])。
如果我给它ab
然后它应该取消($ 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]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.