mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-22 08:44:01 +00:00
Implemented Config->removeNested() (#1499)
This commit is contained in:
parent
a342a61037
commit
a770e681dc
@ -376,6 +376,26 @@ class Config{
|
||||
return $this->nestedCache[$key] = $base;
|
||||
}
|
||||
|
||||
public function removeNested(string $key) : void{
|
||||
$this->nestedCache = [];
|
||||
|
||||
$vars = explode(".", $key);
|
||||
|
||||
$currentNode =& $this->config;
|
||||
while(count($vars) > 0){
|
||||
$nodeName = array_shift($vars);
|
||||
if(isset($currentNode[$nodeName])){
|
||||
if(empty($vars)){ //final node
|
||||
unset($currentNode[$nodeName]);
|
||||
}elseif(is_array($currentNode[$nodeName])){
|
||||
$currentNode =& $currentNode[$nodeName];
|
||||
}
|
||||
}else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $k
|
||||
* @param mixed $default
|
||||
|
Loading…
x
Reference in New Issue
Block a user