PHP数组变量名 [英] PHP array as variable name

查看:149
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆