繁体   English   中英

从多维数组中获取值

[英]Fetch values from multidimensional array

我从以下代码获取数组

$classes = $mb->makeNumericArray($data['GetClassesResult']['Classes']['Class']);
$result = $classes;

    echo '<pre>';
        print_r($result);
    echo '</pre>';

而数组是

Array
(
    [0] => Array
        (
            [ClassScheduleID] => 
            [ClassDescription] => Array
                (
                    [Description] => 
                    [Program] => Array
                        (
                            [ScheduleType] => DropIn
                        )
                )

            [Staff] => Array
                (
                    [SortOrder] => 
                }
        )   

     [1] => Array
        (
            [ClassScheduleID] => 
            [ClassDescription] => Array
                (
                    [Description] => 
                    [Program] => Array
                        (
                            [ScheduleType] => DropIn
                        )
                )

            [Staff] => Array
                (
                    [SortOrder] => 
                }
        )   
)   

我尝试从stackoverflow的代码中获取代码

foreach($result as $res)
    {
        $classscheduleid= $res['ClassScheduleID'];
        echo $classscheduleid;

    } 

目前我尝试了这段代码来打印ClassScheduleID

但它没有正确获取数据。 它错过了[0]处的值,并且在数组的其余部分重复了结果。

谁能告诉我如何从完整的数组中获取ClassScheduleID以及DescriptionScheduleTypesortorder

你需要迭代内部数组:

foreach($classes as $key => $internal_array){
    $classscheduleid= $internal_array['ClassScheduleID'];
    echo $classscheduleid;
    //again, ClassDescription is also array
    foreach($internal_array['ClassDescription'] as $internal_key => $res){

       echo " $internal_key => $res";//etc

    }
} 

或者递归地做:

function echo_array($a, $key){
    foreach($a as $key1 => $array1){
        if(!is_array($array1)){
            echo "$key $key1 : $array1<br/>";
        }else{
            echo_array($array1,$key1);
        }
    }
}
echo_array($a,'');

如果你使用foreach ($result as $row)那么你将循环遍历所有$ result [0],$ result [1] ...然后你回显$result[0]["ClassScheduleID"]在你的情况下,看看在print_r ($result) ,是emptry,这就是为什么你没有得到结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM