[英]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
以及Description
, ScheduleType
和sortorder
?
你需要迭代内部数组:
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.