如何访问JSON属性与元素?附var_dump($response)返回结果示例
如何访问已转成PHP数组的JSON响应属性与元素
嘿,我看你已经把API返回的JSON转成PHP数组啦(从var_dump($response)的结果就能确认),不用再做解码操作,直接用PHP数组的访问方式就能拿到你要的数据,下面一步步来:
1. 先拿顶层的基础属性
直接通过数组的键名就能访问最外层的字段,比如:
// 获取响应的类型(这里是"list") $responseType = $response['object']; // 判断是否还有更多数据(这里是false) $hasMoreData = $response['hasMore']; // 获取总记录数、分页限制、偏移量 $totalCount = $response['totalCount']; $limit = $response['limit']; $offset = $response['offset'];
2. 深入访问data里的客户信息
data是一个装着客户对象的数组,这里只有1条客户数据(索引为0),有两种常见的访问方式:
方式一:直接链式访问
适合快速获取单个属性:
// 获取客户ID $customerId = $response['data'][0]['id']; // 返回 "cus_000004078459" // 获取客户姓名、邮箱、手机号 $customerName = $response['data'][0]['name']; $customerEmail = $response['data'][0]['email']; $customerMobile = $response['data'][0]['mobilePhone'];
方式二:先取出客户数组再访问(更清晰,适合多数据场景)
如果以后data里有多个客户,这种方式更方便循环遍历,单个客户的话也能让代码更易读:
// 先把第一个客户的数组取出来 $customer = $response['data'][0]; // 然后轻松访问各个属性 echo $customer['dateCreated']; // 输出 "2018-04-04" echo $customer['company']; // 输出 NULL(这个字段是空的) echo $customer['phone']; // 同样输出 NULL
3. 避坑小提示
- 要是不确定某个字段是否存在,用
isset()判断一下,避免出现报错:if (isset($customer['phone'])) { echo "客户手机号:" . $customer['phone']; } else { echo "客户未提供手机号"; } - 对于可能为
NULL的字段,可以用??运算符设置默认值,让输出更友好:$companyName = $customer['company'] ?? "无公司信息";
内容的提问来源于stack exchange,提问作者Sylvio Neto
相关产品推荐
相关产品推荐

