【问题标题】:Accessing Element from a Multi-dimensional Array with php使用 php 从多维数组中访问元素
【发布时间】:2016-01-22 22:12:43
【问题描述】:

我有一个格式如下的数据数组,我发现很难访问元素,尤其是使用 php 的“数据”数组。

Array ( 
[jsonrpc] => 2.0 
[result] => Array ( 
    [random] => Array ( 
        [data] => Array ( 
            [0] => 15 
            [1] => 36 
            [2] => 11 
            [3] => 2 
            [4] => 31 
            [5] => 16 
            [6] => 19 
            [7] => 50 
            [8] => 24 
            [9] => 33 
            [10] => 3 
            [11] => 46 
            [12] => 37 
            [13] => 7 
            [14] => 29 
            [15] => 13 
            [16] => 52 
            [17] => 14 
            [18] => 49 
            [19] => 42 
            [20] => 40 
            [21] => 25 
            [22] => 39 
            [23] => 21 
            [24] => 28 
            [25] => 27 
            [26] => 34 
            [27] => 8 
            [28] => 10 
            [29] => 41 
            [30] => 45 
            [31] => 47 
            [32] => 26 
            [33] => 20 
            [34] => 12 
            [35] => 9 
            [36] => 6 
            [37] => 32 
            [38] => 18 
            [39] => 17 
            [40] => 38 
            [41] => 23 
            [42] => 5 
            [43] => 51 
            [44] => 35 
            [45] => 43 
            [46] => 44 
            [47] => 30 
            [48] => 48 
            [49] => 4 
            [50] => 1 
            [51] => 22 
                        ) 
        [completionTime] => 2016-01-22 11:11:26Z 
                    ) 
        [bitsUsed] => 296 
        [bitsLeft] => 933024 
        [requestsLeft] => 197725 
        [advisoryDelay] => 70 
                ) 
        [id] => 16083686 )

我试过了

echo $myArray['data'];

但我收到错误未定义索引:数据

我也试过foreach函数

foreach ($myArray as $row){
 echo $row['result']['random']['data'];
}

但我得到错误 非法字符串偏移 'result'

我已经花时间在这方面了,很高兴在访问此数组中的元素方面获得帮助。

【问题讨论】:

    标签: php arrays multidimensional-array


    【解决方案1】:

    您必须指定访问项目的完整路径

    echo $row['result']['random']['data'][0];
    

    $row['result']['random']['data'] 是数组,函数echo不能显示数组。要显示数组,请使用 print_r() 或 var_dump()。

    var_dump($row['result']['random']['data']);
    print_r($row['result']['random']['data']);
    

    如果您想访问所有可以使用的数据项:

    foreach($row['result']['random']['data'] as $k => $v) {
        echo $k . " = " . $v . "<br />";
    }
    

    【讨论】:

      【解决方案2】:

      你的元素存储在这样的地方,尝试使用变量索引并循环它,以获取所有值。

      echo $row['result']['random']['data'][0];
      echo $row['result']['random']['data'][1];
      echo $row['result']['random']['data'][2];
      

      【讨论】:

        猜你喜欢
        • 2015-07-05
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        • 2013-11-08
        • 1970-01-01
        • 2015-01-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多