我有一个数据库,其中每列是一个国家/地区。在此示例中,有 4 个国家/地区(列)和 3 行,尽管每个国家/地区的数量会发生变化,因此需要动态输入。我想规范化每一行,使最小值为 0,最大值为 100,同时保留原始数据库的 4 x 3 数组结构,以便我可以根据请求提取行或列。
最终输出将传递给 Javascript,以图形形式呈现。我提出的代码正确地对数据进行了规范化,但输出是一个 12 x 1 的长数组,并且列名已被删除。
我想知道是否有人知道我如何保持与$ScoreNorm
的输出相同的结构$dataA
,两者都在下面介绍?
<?php
$conn=mysql_connect("relevant inputs");
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("db-name");
$dataArray = "SELECT * FROM data2012"
or die(mysql_error());
$data2012=mysql_query($dataArray, $conn);
if(! $data2012 )
{
die('Could not get data: ' . mysql_error());
}
$ScoreNorm = array();
$dataA = array();
while($row = mysql_fetch_assoc($data2012))
{
$dataA[] = $row;
$max_val = max($row);
$min_val = min($row);
foreach($row as $key => &$dataAitem)
{
$ScoreNorm[] = array((($dataAitem - $min_val)/($max_val - $min_val))*100);
}
}
echo json_encode($dataA) . "<br />";
echo json_encode($ScoreNorm) . "<br />";
echo $dataA[1]['France'];
mysql_close($conn);
?>
echo json_encode($dataA) 的输出是
[{"China":"11.000","Australia":"8.300","France":"12.600","UK":"6.220"},{"China":"2.000","Australia":"1.000","France":"4.000","UK":"5.000"},{"China":"39548.000","Australia":"25487.000","France":"245.000","UK":"2547852.000"}]
echo json_encode($ScoreNorm) 的输出在哪里
[[74.921630094],[32.6018808777],[100],[0],[25],[0],[75],[100],[1.54274187502],[0.990812162158],[0],[100]]
重申一下,我想$ScoreNorm
维持$dataA format
. 任何想法都非常感谢。