php - 如何将数组转换为此 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;
}
}
但不是预期的结果。
解决方案
尝试这个,
$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);
推荐阅读
- java - How can I configure Checkstyle to validate this simple import style?
- spring - 如何使用 Spring Cloud Kubernetes 以编程方式写入 ConfigMap 值?
- flutter - Dart // Flutter - 如何连接图像和音频来渲染静态视频
- reactjs - 当所有孩子都有钥匙时,反应抱怨没有钥匙的孩子
- java - Content-Length 分隔的消息正文过早结束 - Resttemplate
- javascript - 搜索/过滤 JavaScript 对象数组
- java - 如何与“>”进行比较
- c# - c#在大小写不匹配的字符串列表中查找重复项
- c# - 在 Blazor Server 的自定义委派处理程序中获取范围服务
- intellij-idea - 如何在 PhpStorm 的 .tsx 文件中查找对象属性的缩进名称