PHP数组变量名 [英] PHP array as variable name
本文介绍了PHP数组变量名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何发送的PHP数组vairable的指标名称。
How to send an indexes name for php array vairable.
数组
$array = array('Somthing'=>array('More'=>array('id'=> 34)));
现在我想显示这个事情,但有一个变量名,我不知道该怎么解释,所以我写我想拥有的。
and now I want to display this thing but with a variable name I don't know how to explain so I write what I want to have.
$index_name = '[Something][More][id]';
$array{$index_name};
是否有可能以任何方式?
Is it possible in any way ?
推荐答案
不是一气呵成这样的。这里是你如何做到这一点:
Not in one go like that. Here's how you'd do it:
$array['Something']['More']['id']
如果你特别想访问多维数组使用一个字符串,那么你可以建立一个函数来做到这一点:
If you particularly wanted access multidimensional arrays with a single string, then you could build a function to do that:
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)
这篇关于PHP数组变量名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文