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

如何通过SKU名称从PHP数组中获取对应商品价格?

通过SKU获取商品价格的PHP实现方案

你的原始数组中,第一组是表头数据,后续是商品详情。直接基于这个二维数组查询SKU效率较低,更推荐先转换数组结构,或者直接遍历查找,以下是具体实现方式:

方式一:转换为SKU映射数组(推荐)

先把原始数组处理成以SKU为键、价格为值的关联数组,后续查询会更高效:

// 假设你的原始数组变量名为$productsArray
$skuPriceMap = [];

// 跳过表头(数组第0项),遍历商品数据
for ($i = 1; $i < count($productsArray); $i++) {
    $sku = $productsArray[$i][0];
    // 可选:清理价格里的$符号和空格,得到纯数字价格
    $cleanPrice = trim(str_replace('$', '', $productsArray[$i][2]));
    $skuPriceMap[$sku] = $cleanPrice;
}

// 查询指定SKU的价格
$targetSku = "PRODUCT1";
if (isset($skuPriceMap[$targetSku])) {
    echo "价格:$" . $skuPriceMap[$targetSku]; // 输出:价格:$39.99
} else {
    echo "未找到对应SKU的商品";
}

方式二:直接遍历原始数组查询

如果不想转换数组结构,也可以直接遍历查找目标SKU:

$targetSku = "PRODUCT1";
$foundPrice = null;

// 跳过表头,遍历商品数据
for ($i = 1; $i < count($productsArray); $i++) {
    if ($productsArray[$i][0] === $targetSku) {
        $foundPrice = trim($productsArray[$i][2]);
        break;
    }
}

// 输出结果
if ($foundPrice) {
    echo $foundPrice; // 输出:$39.99
} else {
    echo "未找到对应商品";
}

注意事项

  • SKU大小写敏感:原始数据中SKU为大写PRODUCT1,如果你的查询变量是Product1,建议统一大小写(比如用strtoupper($targetSku)转换后再匹配)
  • 价格格式处理:原始价格包含$和空格,可根据业务需求用trim()和str_replace()清理成纯数字格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:00:55