获取嵌套数组的值

时间:2013-12-10 19:37:04

标签: php arrays

我有这个数组:

$predmeti = [
        'slo' => [
            'ime' => 'Slovenščina',
            'ucitelj' => 'Ana Berčon',
            'nadimek' => '',
            'ucilnica' => '11'
        ],
        'mat' => [
            'ime' => 'Matematika',
            'ucitelj' => 'Nevenka Kunšič',
            'nadimek' => '',
            'ucilnica' => '12'
        ],
        'ang' => [
            'ime' => 'Angleščina',
            'ucitelj' => 'Alenka Rozman',
            'nadimek' => 'Rozi',
            'ucilnica' => '3'
        ]
];

如何使用foreach循环获得slo,mat,ang等的每个值?我只知道怎么弄 foreach中的键和值,但不在此嵌套数组中。

3 个答案:

答案 0 :(得分:1)

我假设你在谈论二级数组,为了让你在内部做另一个操作:

foreach($predmeti as $key => $value) {
    foreach($value as $sub => $second) {
        echo $sub . ' -> ' . $second . PHP_EOL;
    }
}

答案 1 :(得分:1)

为什么不呢:

foreach($predmeti as $v) {
    echo $v['ime'];
    //etc...
}

或:

foreach($predmeti as $k => $v) {
    echo $k;
    echo $v['ime'];
    //etc...
}

答案 2 :(得分:0)

使用foreach (array_expression as $key => $value)语法:

foreach ($predmeti as $key => $value) {
    echo $key;
}

这些值是$key内每个数组的$predmeti

来自the manual

  

foreach构造提供了一种迭代数组的简单方法。 foreach仅适用于数组和对象,并且当您尝试在具有不同数据类型或未初始化变量的变量上使用它时将发出错误。有两种语法:

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement