【发布时间】:2014-11-05 22:52:11
【问题描述】:
我在 API 上使用 CURL 语句,然后将 xml 输入一个数组,该数组有时返回多维数组,有时不返回。
function api_query($url) {
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
return $result;
}
function xml_to_string($results) {
// Store XML String in Array
$xml = simplexml_load_string($results);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
return $array;
}
示例: 大批( [结果] => 数组( [订单] => 数组( [顺序] => 数组( [0] => 数组( [OrderId] => 2500001103245195815)
[1] => Array(
[OrderId] => 2500001099767553054)
)
)
)
)
Array (
[Result] => Array(
[Orders] => Array(
[Order] => Array(
[OrderId] => 2500001103245195815
)
)
)
)
我可以用什么来代替这样的 if 语句:
if(isset($array["Result"]["Orders"]['Order'][0])) {
$arrlength = count($array["Result"]["Orders"]['Order']);
for ($row = 0; $row < $arrlength; $row++) {
$OrderId = $array["Result"]["Orders"]['Order'][$row]['OrderId'];
}
} elseif(if(isset($array["Result"]["Orders"]['Order'])) {
$OrderId = $array["Result"]["Orders"]['Order']['OrderId'];
}
【问题讨论】:
标签: php arrays api curl multidimensional-array