第一个数组
array(1) {
["return"]=>
array(5) {
["status"]=>
string(1) "0"
["errcode"]=>
string(2) "ok"
["receivetime"]=>
string(19) "2019-07-18 15:56:24"
}
}
第二个数组
array(1) {
["return"]=>
array(3) {
[0]=>
array(5) {
["status"]=>
string(1) "0"
["errcode"]=>
string(2) "ok"
["receivetime"]=>
string(19) "2019-07-18 16:26:51"
}
[1]=>
array(5) {
["status"]=>
string(1) "2"
["errcode"]=>
string(7) "MK:100D"
["receivetime"]=>
string(19) "2019-07-18 16:27:42"
}
[2]=>
array(5) {
["status"]=>
string(1) "0"
["errcode"]=>
string(2) "ok"
["receivetime"]=>
string(19) "2019-07-18 16:33:22"
}
}
}
大家看这两个数组有什么区别吗?是同一个第三方返回的数据(有可能只返回一个,有可能返回多个),如果你用foreach去循环的话得到的完全不一样,第一个和第二个的最大区别是结构不一样,好坑呀,还要加判断,
if(count($result['return']) == 1)
{
$result = $result;
}
太坑了!记录一下,浪费我一小时!
最后还是不行,只好判断数组是1维还是2维
/** * 判断是1维还是二维数组 * @param $array * @return int */ private function TestArray($array){ foreach($array as $v){ if(is_array($v)){ $Int_Array = 2; }else{ $Int_Array = 1; } } return $Int_Array; }