You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何提取API返回的Address对象数据?

获取API\Resources\Address对象数据的几种方法

直接访问公有属性

从var_dump输出能看到,这个对象的属性都是公有的,直接通过对象属性访问语法就能拿到目标字段:

// 假设$address是你获取到的API\Resources\Address实例
$postalCode = $address->postal_code;
echo $postalCode; // 输出:12345

遍历对象属性

如果需要批量处理属性,有两种方式:

  • 转成数组后遍历:用get_object_vars()把对象转成关联数组,再用foreach处理
$addressArray = get_object_vars($address);
foreach ($addressArray as $key => $value) {
    // 打印所有属性键值对
    echo "$key: $value\n";
    // 单独提取postal_code
    if ($key === 'postal_code') {
        echo "目标邮编:$value";
    }
}
  • 直接遍历对象:如果该类实现了Traversable相关接口(比如Iterator),可以直接foreach对象:
foreach ($address as $key => $value) {
    // 处理逻辑同上
}

转JSON再解码(可行但不推荐)

你之前用json_decode出错是因为直接传了对象,json_decode只接受JSON字符串。如果一定要用这种方式,先把对象转成JSON再解码:

$jsonString = json_encode($address);
$addressData = json_decode($jsonString, true); // true转为关联数组
$postalCode = $addressData['postal_code'];

这种方法多了一次序列化/反序列化操作,性能不如直接访问属性,优先用前两种方案。

内容的提问来源于stack exchange,提问作者Doug L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:35:14