protected final function multidimensional_replace($root, $keys, $value)
{
if (!isset($value)) {
return $root;
} elseif (empty($keys)) {
// If there are no keys, we're replacing the root.
return $value;
}
$result = $this->multidimensional($root, $keys, true);
if (isset($result)) {
$result['node'][$result['key']] = $value;
}
return $root;
}