gpt4 book ai didi

php - json_encode 将特定字符串替换为数字(对于 flot.js)

转载 作者:行者123 更新时间:2023-11-29 01:42:58 25 4
gpt4 key购买 nike

您好,我对此进行了广泛的搜索,并在很多方面进行了调整,但我就是做不对。

我的目标是从反馈表中检索 mysql 数据并绘制 flot.js 图表。到目前为止,我可以用这个检索数据:

$query = "SELECT flavor,  COUNT(flavor) FROM $tbl_name GROUP BY flavor";
$result = mysql_query($query);

while($rows = mysql_fetch_array($result))
{
$dataset1[] = array($rows['flavor'],$rows['COUNT(flavor)']);
}

这会检索 flavor 评级(优秀、良好、一般或差)并计算每个在反馈中被使用的次数,数组如下所示:

[["average","1"],["bad","1"],["excellent","1"],["good","2"]]

flot.js 需要我的 x,y 值是数字,所以我在调用 $dataset1 时使用 JSON_NUMERIC_CHECK 设法将数值更改为整数,所以现在它看起来像这样:

[["average",1],["bad",1],["excellent",1],["good",2]] 

我不知道如何将“excellent、good、average 和 bad”这些词转换为简单的数值,例如:“excellent”这个词应该是 1,“good”应该是 2 等等,所以我的 float 数据输出如:

[[3,1],[4,1],[1,1],[2,2]]

这是我的 flot javascript:

$(function () {

$.plot(
$("#graph"),
[
{
label: "Flavor",
data: <?php echo json_encode($dataset1, JSON_NUMERIC_CHECK); ?>,
bars: {
show: true,
barWidth: 0.5,
align: "center"
}
}
],
{
xaxis: {
ticks: [
[1, "excellent"],
[2, "good"],
[3, "average"],
[4, "bad"]
]
}
}
);

});

有没有人遇到过这样的事情?我是以错误的方式接近它吗?任何帮助将不胜感激。

我也研究了很多,尽量不要重复发布,如果已经回答,请原谅我。

最佳答案

在附加到数组之前替换值...

while($rows = mysql_fetch_array($result))
{
switch ($rows['flavor']) {
case 'excellent':
$number = 1;
break;
case 'good':
$number = 2;
break;
case 'average':
$number = 3;
break;
case 'bad':
$number = 4;
}
$dataset1[] = array($number, $rows['COUNT(flavor)']);
}

关于php - json_encode 将特定字符串替换为数字(对于 flot.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14535216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com