首页 > 解决方案 > 如何将数组转换为此 json 模式?

问题描述

我有这样的数组

Array
(
     [0] => Array
        (
            [product_id] => 13
            [unit] => 1
            [price] => 20.0000
            [total] => 20.0000
        )

    [1] => Array
        (
            [product_id] => 15
            [unit] => 2
            [price] => 30.0000
            [total] => 10.0000 
        )

)

我被困在以下模式中将上面的数组转换为“ProductList”

array(
     "UserID" => 2,
     "ProductList" => [
         {
             "ProductID"=> 13,
             "Price"=> 20.0000
         }, 
         {
             "ProductID"=> 15,
             "Price"=> 30.0000
         }
     ]
)

我试过这样:

$products = [];
foreach($items as $item) {
    if(!empty($item['product_id'])) {
        $product = '{"ProductID"=>' . $item['product_id'] . '}';
        $products[] = $product;
    }
}

但不是预期的结果。

标签: php

解决方案


尝试这个,

$prodlist = array();
$x = 0;
foreach($arrs as $arr) {
    //if ($arr['product_id'] == "" && $arr['price'] == "") continue;
    $prodlist[$x]['Price'] = $arr['price'];
    $prodlist[$x]['ProductID'] = $arr['product_id'];
    $x += 1;
}
$arr2return['user_id'] = $user_id;
$arr2return['ProductList'] = $prodlist;
json_encode($arr2return);

推荐阅读