PHP调用Shopify Orders API如何遍历line_items子数组显示所有商品
PHP遍历Shopify Orders API的line_items获取所有商品信息
假设你已经通过Shopify Orders API获取到订单数据集(存储在$orders变量中),只需通过嵌套循环即可遍历每个订单下的所有商品(line_items子数组),替换原代码中仅取第一个商品的逻辑。
完整代码示例
// 假设已从Shopify API获取到订单数据,存储在$orders数组中 foreach ($orders as $order) { // 输出订单基础信息(示例:订单编号) echo "订单编号: {$order['name']}\n"; echo "---\n"; // 遍历当前订单的所有商品项 if (!empty($order['line_items'])) { foreach ($order['line_items'] as $item) { // 输出商品核心信息 echo "商品ID: {$item['id']}\n"; echo "商品名称: {$item['title']}\n"; echo "商品单价: {$item['price']}\n"; echo "购买数量: {$item['quantity']}\n"; echo "---\n"; } } else { echo "该订单无商品\n---\n"; } }
关键说明
- 外层循环:遍历所有订单,每次取出单个订单对象
$order - 内层循环:针对每个订单的
line_items子数组,逐个取出商品$item,无需关心商品数量 - 字段对应:代码中使用的
id、title、price、quantity均为Shopify Orders API返回的标准字段,可根据需求添加其他字段(如sku、variant_title等) - 空值处理:通过
!empty()判断订单是否有商品,避免因line_items为空导致的报错
替换原代码的要点
如果原代码是通过$order['line_items'][0]获取第一个商品,直接删掉该写法,替换为上述内层foreach循环即可。
内容的提问来源于stack exchange,提问作者Stefano Coccia
相关产品推荐
相关产品推荐

