第一个数组
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;
}
本文探讨了从第三方获取的不同数组结构,分析了单个数组与数组集合的区别,并提供了一个实用的函数来判断数组维度,帮助开发者有效处理不同情况。
2231





