在这段生成的商品数据函数用于生产环境前,对它进行审查。
应用默认值但让商品值覆盖默认值,保留零库存商品,按规范化名称排序,并返回不含内部成本的公开 JSON。
php
<?php
function buildProductFeed(array $products, array $defaults): string
{
$visible = array_filter(
$products,
fn(array $product): bool => $product['stock'],
);
$rows = array_map(
function (array $product) use ($defaults): array {
$row = array_merge($product, $defaults);
return [
'sku' => $row['sku'],
'name' => $row['name'],
'stock' => $row['stock'],
'cost' => $row['cost'],
];
},
$visible,
);
usort(
$rows,
fn(array $a, array $b): int => strtolower($a['name']) <=> strtolower($b['name']),
);
return json_encode($rows, JSON_THROW_ON_ERROR);
}
生成代码仅作示例,不代表任何特定模型