PHP中如何从返回的JSON数组提取id为4的value值?
提取JSON数组中id为4的对应value值
你需要先将获取到的JSON格式字符串转换为PHP数组,再遍历数组筛选出id为4的元素,取出其value值。以下是修改后的代码:
<?php // 获取自定义字段的JSON字符串 $temp_hsn = getPart($d->product_id)->custom_field; // 将JSON解码为PHP关联数组 $customFields = json_decode($temp_hsn, true); // 初始化目标值,默认空字符串 $targetValue = ''; // 遍历数组查找id为4的字段 foreach ($customFields as $field) { if ($field['id'] === '4') { $targetValue = $field['value']; break; // 找到后立即终止遍历,提升效率 } } ?> <td class="text-Left cname"><?php echo htmlspecialchars($targetValue); ?></td>
代码说明:
json_decode($temp_hsn, true):将JSON字符串转换为PHP关联数组,第二个参数true确保返回数组而非对象。- 遍历数组时匹配
id为'4'的元素,找到后直接赋值并终止遍历,避免不必要的循环。 htmlspecialchars($targetValue):对输出内容进行转义,防止XSS安全风险,建议保留。
如果遇到id=4的value为空的情况,代码会默认显示空字符串,符合你提供的示例场景。
内容的提问来源于stack exchange,提问作者Shakil Akhter
相关产品推荐
相关产品推荐

