使用字符串php从数组中获取值

使用字符串php从数组中获取值,php,arrays,key,Php,Arrays,Key,我有以下数组: array('data' => array('one' => 'first', 'two' => 'second')); 如何使用字符串获取键“one”的值: echo __('data.one'); function __($key) { $parts = explode('.', $key); $array = array('data' => array('one' => 'first', 'two' => 'secon

我有以下数组:

array('data' => array('one' => 'first', 'two' => 'second'));
如何使用字符串获取键“one”的值:

echo __('data.one');

function __($key) {
    $parts = explode('.', $key);
    $array = array('data' => array('one' => 'first', 'two' => 'second'));
    return ???;
}

谢谢你

这应该适合您:

return $array["data"]["one"];
<?php

    $str = "data.one";
    $keys = explode(".", $str);
    $array = array('data' => array('one' => 'first', 'two' => 'second'));
    $access = $array;


    foreach($keys as $v)
        $access = $access[$v];

    echo $access;

?>
有关更多信息和了解更多信息,请参见:
以及:

编辑:


这应该适合您:

return $array["data"]["one"];
<?php

    $str = "data.one";
    $keys = explode(".", $str);
    $array = array('data' => array('one' => 'first', 'two' => 'second'));
    $access = $array;


    foreach($keys as $v)
        $access = $access[$v];

    echo $access;

?>

添加您自己的错误处理,以防密钥路径不在阵列中,但类似于:

$array = array('data' => array('one' => 'first', 'two' => 'second'));

$key = 'data.one';

function find($key, $array) {
    $parts = explode('.', $key);
    foreach ($parts as $part) {
        $array = $array[$part];
    }
    return $array;
}

$result = find($key, $array);
var_dump($result);
:)我只需要字符串“data.one”@o_flyer更新了我的答案!(顺便说一句:你可以接受这样的答案:你得到了最大的帮助,解决了你的问题!())