3v4l.org

run code in 300+ PHP versions simultaneously
<?php function l($name) { $a = ["a" => "aaa", "b" => ["a"=>"123456"], "c" => ["d"=>["e" =>"1%1"]]]; $keys = explode(".", $name); $key = array_shift($keys); $result = isset($a[$key]) ? $a[$key] : null; foreach($keys as $k) { if(!$result) return $name; $result = isset($result[$k]) ? $result[$k] : null; } $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("c.d.e", 45));

preferences:
42.29 ms | 402 KiB | 5 Q