如何从PHP中的多维数组中获取元素?

时间:2015-11-24 13:40:57

标签: php arrays multidimensional-array

我在php中编写了一些代码。我有以下数组,但我无法获得这一年。

如何从数组中获取年份,即值1891, 1908, 1916, 1918

$data = array( 
    1891 => [
        'year' => 
            [0 => 'ABC'],
        'count' =>1
    ],
    1908 => [
        'year' => 
            [0 => 'ABC'],
        'count' => 1
    ],
    1916 => [
        'year' => 
            [0 => 'XYZ'],
        'count' => 1
    ],
    1918 => [
        'year' => 
            [0 => 'PQR'],
        'count' => 1
    ],
    1923 => [
        'year' => 
            [0 => 'LMN'],
        'count' => 1
     ]

    );

2 个答案:

答案 0 :(得分:1)

根据您提供的array

foreach($array as $key => $value){
    $key // This will contain the year
    $value // This will contain the associated aray
}

答案 1 :(得分:1)

我重建了数组,它是一个真正的数组数组(抛出一些数组)。总的来说,我完全建议不要使用这种复杂的数据结构,而不是简化或将其转换为对象,因为它不适合消费。

简化简化简化!

话虽如此,这是一种利用最终数据的方法:

foreach($data as $num_year=>$info){
    $letters = $info['year'][0]; // or
    $letters = reset($info['year']); // reset gets first element numbered or associative
    $count = $info['count'];
    echo $num_year.' '.$letters.' '.$count;
}

看到它在清理和重建的数组上运行,其中有效输出: http://ideone.com/b9Fg6V