PHP - 访问多维数组值 [英] PHP - Accessing Multidimensional Array Values

查看:37
本文介绍了PHP - 访问多维数组值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

经过几个小时的混乱、出汗和拔头发后,我仍然无法访问这些值.我想遍历第一级数组,这对于基本的foreach"循环来说已经足够简单了,但我似乎无法访问第二个子数组上的['suitability']"数组.我环顾四周,但除了似乎没有深入研究循环的真正基本数组教程之外,似乎什么也找不到.

After several hours of messing, sweating and pulling my hair out I'm still unable to access these values. I want to loop through the first level of arrays, and that's simple enough with a basic 'foreach' loop but I can't seem to get to the '['suitability']' array on the second sub array. I've looked around but can't seem to get anything other than really basic array tutorials which don't seem to delve to far into looping.

我正在尝试访问嵌套/子数组中的值,即 '['Species_name']'.

I'm trying to access the values in the nested/sub array ie '['Species_name']'.

我不想使用关联键,因为排序有点问题.

I don't want to use associative keys as the sorting is a bit of an issue.

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Bradeley Hall Pool
            [postcode] => CW1 5QN
            [lat] => 53.10213
            [lon] => -2.41069
            [size] => 1.60
            [pegs] => 21
            [distance] => 26.6
        )

    [1] => Array
        (
            [id] => 2
            [name] => Farm Pool
            [postcode] => CW9 6JQ
            [lat] => 53.320502
            [lon] => -2.549049
            [size] => 0.88
            [pegs] => 8
            [distance] => 15.4
            [suitability] => Array
                (
                    [0] => Array
                        (
                            [fk_water_id] => 2
                            [fk_species_id] => 4
                            [species_name] => Barbel
                            [species_rating] => 1
                            [record_id] => 1
                            [weight_kg] => 2.721554
                            [length_cm] => 40
                            [height_cm] => 30
                        )
                )
       )
)

推荐答案

可能让您感到困惑的是,适用性是一个数组数组,而不仅仅是一个数组,因此在一个示例中,您想要获取您将使用类似

The thing that is probably tripping you up is that suitability is an array of arrays not just an array so in an example where you want to get the species_name property of the first second top level element you would use something like

$array[1]["suitability"][0]["species_name"];

值得注意的是,您的第一个数组不包含适用性"值,因此无法访问.在 foreach 循环中,您可以使用类似于以下内容的构造:

It's worth noting that your first array does not contain a "suitability" value so that would not be able to be accessed. In a foreach loop you could use a construct similar to this:

foreach($array as $value){
    if (isset($value["suitability"])){
        echo $value["suitability"][0]["species_name"];
    }
}

这篇关于PHP - 访问多维数组值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆