繁体   English   中英

在 php 中将数组值更改为 json 格式

[英]Change Array values to json format in php

我有一个这样的数组

Array
            (
                [0] => [{"qty":"4023","discount":"-288.84000194072723"}]
                [1] => [{"qty":"48","discount":"-1"}]
                [2] => [{"qty":"305","discount":"0"}]
            )

如何将这些数组转换为我的格式

 [{"name":"qty","data":[4023,48,305]},{"name":"discount","data":[-288.84,-1,0]}] 

如何解决这个问题呢?

看看json_encode函数。

来自 PHP.net 的示例:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?> 

输出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

这是完整的解决方案(使用json_encodejson_decode ):

$array = array(
  '[{"qty":"4023","discount":"-288.84000194072723"}]',
  '[{"qty":"48","discount":"-1"}]',
  '[{"qty":"305","discount":"0"}]'
);

$new = array(
  (object) array("name" => "qty", "data" => array()),
  (object) array("name" => "discount", "data" => array())
);

foreach($array as $key => $value){
  $object = json_decode($value)[0];

  $new[0]->data[] = $object->qty ;
  $new[1]->data[] = $object->discount ;
}


$desired_result = json_encode($new);
var_dump($desired_result);

沙盒测试: 这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM