从数组中的数组获取值

时间:2014-11-04 18:03:48

标签: php arrays

我有这个网址:

  

http://web.com/script.php?identifiers%5Bmc%5D%5Bnick%5D=name1&identifiers%5Bcs%5D%5Bnick%5D=name2&identifiers%5Bcs%5D%5Bpassword%5D=mypass

所以我会得到这样的数组:

[identifiers] => Array
    (
        [mc] => Array
            (
                [nick] => name1
            )

        [cs] => Array
            (
                [nick] => name2
                [password] => mypass
            )

    )

如何获取值name1并将其放入变量$mc_name

2 个答案:

答案 0 :(得分:2)

这是一个包含另一个数组的简单数组,因此您只需为包含的数组指定多个索引:

$mc_name = $_GET['identifiers']['mc']['nick'];

为了更好地理解它是如何工作的,可以将其视为首先将每个数组分配给变量,如:

$identifiers = $_GET['identifiers'];
$mc_array = $identifiers['mc'];
$mc_name = $mc_array['nick'];

基本上会同时执行相同的操作,而无需指定多个变量和数组。

答案 1 :(得分:0)

开始于:

identifiers = $_GET['identifiers']

如果您知道密钥名称,那么只需:

$mc_name = $identifiers['mc']['nick']

如果你知道它是第一个值或第一个值,那么你可以:

$mc_name = array_shift($identifiers);  // get the 'mc' array
$mc_name = array_shift($identifiers);  // get the 'nick' value

不是array_shift实际上会从原始数组中删除元素。