我成功地使用了它,所以我想:
foreach ($trip->STOPS->STOP as $key=>$value) {
大多数时候数据看起来像这样:
["STOPS"]=>
object(stdClass)#247 (1) {
["STOP"]=>
array(4) {
[0]=>
object(stdClass)#248 (2) {
["NAME"]=>
string(11) "Short Hills"
["TIME"]=>
string(20) "7/30/2013 6:38:24 AM"
}
[1]=>
object(stdClass)#249 (2) {
["NAME"]=>
string(8) "Millburn"
["TIME"]=>
string(20) "7/30/2013 6:41:24 AM"
}
[2]=>
object(stdClass)#250 (2) {
["NAME"]=>
string(19) "Newark Broad Street"
["TIME"]=>
string(20) "7/30/2013 6:53:00 AM"
}
[3]=>
object(stdClass)#251 (2) {
["NAME"]=>
string(21) "New York Penn Station"
["TIME"]=>
string(20) "7/30/2013 7:13:00 AM"
}
}
}
}
然而,当 STOP 不包含元素数组时,上面的 PHP 代码会导致问题,当它看起来像这样时:
["STOPS"]=>
object(stdClass)#286 (1) {
["STOP"]=>
object(stdClass)#287 (2) {
["NAME"]=>
string(21) "New York Penn Station"
["TIME"]=>
string(20) "7/30/2013 8:13:00 AM"
}
}
}
因此,您可能会猜到,不是将 $key=>$value 设为数组元素和 NAME/TIME 的数组,而是将 $key 设为 NAME 或 TIME,这当然是错误的。
如何正确使用此 foreach 方法,而无需检查 foreach $trip->STOPS->STOP 是否包含数组或多个元素?
此数据的来源来自以 JSON 形式返回的 SOAP 请求。
还是我的方法完全错误?如果是这样,请赐教?谢谢!