Skip to content

Instantly share code, notes, and snippets.

@yadakhov
Created May 27, 2015 08:28
Show Gist options
  • Save yadakhov/59f614c89f53cee5e0aa to your computer and use it in GitHub Desktop.
Save yadakhov/59f614c89f53cee5e0aa to your computer and use it in GitHub Desktop.
$a = array('foo' => array('bar' => array('baz' => 1)));
function resolve(array $a, $path, $default = null)
{
$current = $a;
$p = strtok($path, '.');
while ($p !== false) {
if (!isset($current[$p])) {
return $default;
}
$current = $current[$p];
$p = strtok('.');
}
return $current;
}
var_dump(resolve($a, 'foo.bar'));
// array('baz' => 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment