- var_dump: documentation ( source)
- array_shift: documentation ( source)
- str_replace: documentation ( source)
- explode: documentation ( source)
<?php
function l($name)
{
$a = ["a" => "aaa", "b.a" => "123456", "a.d.e" => "1%1"];
$keys = explode(".", $name);
$key = array_shift($keys);
$result = isset($a[$key]) ? $a[$key] : null;
print $a[$key];
foreach($keys as $k)
{
if(!$result)
return $name;
$result = $result[$k];
}
$args = func_get_args();
foreach($args as $k => $v)
$result = str_replace("%{$k}", $v, $result);
return $result;
}
var_dump(l("a"));
var_dump(l("b.a"));
var_dump(l("b.c"));
var_dump(l("a.d.e", 45));