Gal*_*x86 2 php arrays variables
如何发送php array vairable的索引名称.
数组是
$array = array('Somthing'=>array('More'=>array('id'=> 34)));
Run Code Online (Sandbox Code Playgroud)
现在我想显示这个东西,但是有一个变量名,我不知道如何解释所以我写了我想要的东西.
$index_name = '[Something][More][id]';
$array{$index_name};
Run Code Online (Sandbox Code Playgroud)
有可能吗?
nic*_*ckf 15
不是那样的.这是你如何做到的:
$array['Something']['More']['id']
Run Code Online (Sandbox Code Playgroud)
如果您特别想要使用单个字符串访问多维数组,那么您可以构建一个函数来执行此操作:
function array_multi(Array $arr, $path) {
$parts = explode(".", $path);
$curr =& $arr;
for ($i = 0, $l = count($parts); $i < $l; ++$i) {
if (!isset($curr[$parts[$i]])) {
// path doesn't exist
return null;
} else if (($i < $l - 1) && !is_array($curr[$parts[$i]]) {
// path doesn't exist
return null;
}
$curr =& $curr[$parts[$i]];
}
return $curr;
}
// usage:
echo array_multi($array, "Something.More.id"); // 34
echo array_multi($array, "Something.More"); // array("id" => 34)
Run Code Online (Sandbox Code Playgroud)