对API的调用可以根据一个或多个子项返回不同的数组结构。如何使用php轻松地检查标识是否是一个或多个?
示例数组一个标识
(
[GetIdentitiesResult] => stdClass Object
(
[Identity] => stdClass Object
(
[Id] => 123456789
[IsDefault] => 1
)
)
)
示例更多的身份
(
[GetIdentitiesResult] => stdClass Object
(
[Identity] => Array
(
[0] => stdClass Object
(
[Id] => 223344
[IsDefault] =>
)
[1] => stdClass Object
(
[Id] => 112233
[IsDefault] =>
)
)
)
)
发布于 2022-01-11 11:21:35
当从API获得JSON响应时,首先应该将JSON解码为一个数组,如下所示:
json_decode($yourJsonAPIResponse,true);
通过使用此代码,您将始终得到数组而不是对象数组。我试过检查您的对象数组是否是多维的。请查看我的代码:首先,我使用以下代码将对象数组转换为JSON:
$newJson = json_encode($yourJsonAPIResponse);
之后,我使用代码将newJson解码为一个数组:
$array = json_decode($newJson,true);
在我创建了一个函数来检查数组是否是多维的之后。我是裁判。此页并检查第二个示例点击这里获取信息。我在这里粘贴函数代码:
function is_multi($array) {
$rv = array_filter($array, 'is_array');
if(count($rv)>0) return true;
return false;
}
// Output
var_dump(is_multi($e)); // return true
我希望这个密码能帮到你。谢谢
https://stackoverflow.com/questions/70664468
复制相似问题