从多维数组中获取值

时间:2015-03-18 12:06:20

标签: php arrays for-loop multidimensional-array foreach

我需要从我通过的数组中获取数据

print_r($result);

我得到的数组是

Array
(
    [0] => Array
        (
            [id] => 
            [Location] => Array
                (
                    [img] => 177223
                    [name] => 
                )

            [Max] => 
            [Total] => 
            [Description] => Array
                (
                    [Pre] => 
                    [Updated] => 
                    [Program] => Array
                        (
                            [Schedule] =>
                        )
                )

            [Staff] => Array
                (
                    [FirstName] => 
                )
        )
)

我使用了这段代码

if (!empty($result)) 
    {
        foreach ($result as $res) 
            {
                $Max = $res['Max'];
                echo $Max;
                echo "<br>";
                    if(isset($res['Location']))
                        {
                            foreach($res['Location'] as $loc)
                                    {
                                        $img= $loc['img'];
                                        echo $img;
                                        echo "<br>";
                                    }   
                        }
            } 
    }       

我得到第一个数组的正确值(即最大等),但不是位置,描述和工作人员,任何人都可以更正我的代码

2 个答案:

答案 0 :(得分:3)

位置不是数组数组。 它只是一个关联数组。

if (!empty($result)) {
    foreach ($result as $res) {
            $Max = $res['Max'];
            echo $Max;
            echo "<br>";
            if(isset($res['Location'])) {
                 $img= $res['Location']['img'];
                 echo $img;
                 echo "<br>";
            }
     } 
}     

答案 1 :(得分:0)

您不需要通过位置进行预告,只需直接访问它的元素:

if(isset($res['Location']))

     {
          $img= $res['Location']['img'];
          echo $img;
          echo "<br>";
     }   

或者像那样的人。