Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将条件数据附加到JSON的末尾_Php_Laravel - Fatal编程技术网

Php 如何将条件数据附加到JSON的末尾

Php 如何将条件数据附加到JSON的末尾,php,laravel,Php,Laravel,我正在迭代一个模型关系 $formatted = []; foreach($products->childProducts as $childProduct) { if($childProduct->product_type_id > 1) { $formatted['associated_products'][] = $this->coreProductInfo($childProduct); } } 有一个

我正在迭代一个模型关系

$formatted = [];
foreach($products->childProducts as $childProduct) {
        if($childProduct->product_type_id > 1) {
           $formatted['associated_products'][] = $this->coreProductInfo($childProduct);
       }
    }
有一个条件
$childProduct->product\u type\u id
,当==1时,这些产品不应附加到上面的数组中。相反,当上述数组完全准备好时,应该在最后追加产品类型为1的所有产品。i、 当产品类型id为:2,3,4。。。所有内容都已附加

我如何实现这一点,以便所有id为1的产品都应该附加到末尾

预期结果:

[{
    "id": 1,
    "product_name": "Shirts",
    "product_category": "Men Garments",
    "product_area": "Western",
    "product_region": "Mumbai",
    "product_type_id": "2",
    "product_uuid": "398jehiu3939e3393"
},
{
    "id": 2,
    "product_name": "Trousers",
    "product_category": "Men Garments",
    "product_area": "Eastern",
    "product_region": "Mumbai",
    "product_type_id": "3",
    "product_uuid": "dnnja3989389834343"
},
{
    "id": 3,
    "product_name": "Jeggings",
    "product_category": "Women Garments",
    "product_area": "Western",
    "product_region": "Delhi",
    "product_type_id": "1",
    "product_uuid": "ji202039844930300dj"
}
]最佳使用系列

    $formatted = collect();
    foreach($products->childProducts as $childProduct) {
        if($childProduct->product_type_id > 1) {
            $formatted->prepend($this->coreProductInfo($childProduct));
        } else {
            $formatted->push($this->coreProductInfo($childProduct));
        }
    }
    $formatted->toArray();

将它们存储在两个单独的数组中,循环结束后合并它们@Svetoslav。工作得很有魅力!