欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

数组处理有关问题,求优化

程序员文章站 2022-05-18 20:32:46
...
数组处理问题,求优化
本帖最后由 mafeifan 于 2014-12-26 11:36:04 编辑 有一个这样查询出来的数组。

$result = [
['month'=>08,'price'=>218],
['month'=>12,'price'=>140],
];


最终需要转换成一个字符串,用于前台js
格式类似:[49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, null, null]
显示的是每月的销售情况,没有值就为null
比如一月份的price为49.9

我的做法:
感觉有点麻烦,求优化


//先构造类似 ['01'=>0,'02'=>0 .... '12'=>0] 这种格式的数组
$fullMonth = [];
for($i=1;$i $fullMonth[str_pad($i,2,'0',STR_PAD_LEFT)] = 0;
}
// 遍历数组 对应月份有值就放到新建的数组里
$i = 0;
foreach($fullMonth as $month=>$value){
foreach($result as $record){
if($month == $record['month']){
$fullMonth[$month] = $record['price'];
}
}
$i++;
}
return '[' . implode(',',$fullMonth) . ']';

------解决思路----------------------
$r = array_fill(0, 12, null);
$result = [
['month'=> '08', 'price'=> 218],
['month'=> '12', 'price'=> 140],
];
foreach($result as $v) {
$r[$v['month'] - 1] = $v['price'];
}
echo json_encode($r);
[null,null,null,null,null,null,null,218,null,null,null,140]

------解决思路----------------------
y加上引號,這樣才不會有notice

$res = [['y'=>'2014-12-03','item'=>263],['y'=>'2014-12-04','item'=>168]];
echo json_encode($res, JSON_PRETTY_PRINT);
?>




[
{
"y": "2014-12-03",
"item": 263
},
{
"y": "2014-12-04",
"item": 168
}
]
数组处理有关问题,求优化

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 数组处理有关问题,求优化
  • 专题推荐