如何将关联的php数组json_encode到[{x: key1, y: value1}

我想在一个图表中显示两个带有 chart.js 的折线图。因为一些 x 值不相同(一些在一个数据集中丢失,一些在另一个中)我需要以下格式的两个数据集的数据:


[{x: "key1", y: value1}, 

{x: "key2", y: value2}, 

{x: "key3", y: value3}, 

... 

{x: "key_n", y: value_n}]

我的出发点是每个数据集的两个 php 数组(从 mysql 数据库中获取)。第一个数组的 json 编码输出是:


["2019-06-25","2019-06-26","2019-06-27","2019-06-28","2019-06-29","2019-06-30","2019-07-01"] 

第二个数组的 json 编码输出是:


[3.304,3.24,3.137,3.232,3.279,3.298,3.307]

Chart.js 确实需要这种格式:


[{x: "2019-06-25", y: 3.304}, 

{x: "2019-06-26", y: 3.24}, 

{x: "2019-06-27", y: 3.137}, 

{x: "2019-06-28", y: 3.232}, 

{x: "2019-06-29", y: 3.279}, 

{x: "2019-06-30", y: 3.298}, 

{x: "2019-07-01, y: 3.307}]

我这样试过:


$combined = array_combine($leonie_created_at, $weight_leonie);


foreach( $combined as $key=>$val ) {

      $result .= '{' . 'x: ' . $key . ', y: ' . $val . '}';

}

但是json编码的结果是


 "{x: 2019-06-25, y: 3.304}{x: 2019-06-26, y: 3.24}{x: 2019-06-27, y: 3.137}{x: 2019-06-28, y: 3.232}{x: 2019-06-29, y: 3.279}{x: 2019-06-30, y: 3.298}{x: 2019-07-01, y: 3.307}{x: 2019-07-02, y: 3.18}"

有人有想法吗?


largeQ
浏览 160回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP