审查生成的产品信息流

来自 数组函数
PHP 8.3.33 高级 6分钟 找出 4处问题

在这段生成的商品数据函数用于生产环境前,对它进行审查。

应用默认值但让商品值覆盖默认值,保留零库存商品,按规范化名称排序,并返回不含内部成本的公开 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);
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误