格式化数组的输出

时间:2014-08-21 07:27:16

标签: php arrays phpgraphlib

我想通过PHPGraphlib使用我的数据库来创建图形。

我的问题是,我有不同格式的数组,PHPGraphlib不读它。

PHPGraphlib读取这样的数组:

$data = array("15:01:14" => .0032, "15:05:14" => .0028, "15:10:14" => .0021, "15:15:14" => .0033, 
"15:20:14" => .0034);

我创建了我的数组:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$orders[] = array(
'price' => $row['price'],
'clock' => $row['clock'],
);
}

echo json_encode($orders);

所以它看起来像这样:

  

[{ “价格”: “1570”, “时钟”: “14点56分02秒”},{ “价格”: “1570”, “时钟”: “15点01分14秒”},{”价 “:” 1571" , “时钟”: “15点11分49秒”}]

如何获得与第一个相同的输出,以使PHPGraphlib读取我的数组。

2 个答案:

答案 0 :(得分:1)

试试这个,

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $orders[$row['clock']] = $row['price'];
}

imp:避免使用mysql使用mysqli或pdo

答案 1 :(得分:0)

嗯,这是因为你使用的是json_encode($ orders)。

这将转换

array("15:01:14" => .0032, "15:05:14" => .0028, ...

in

[{"15:01:14":".0032"},{"15:05:14":".0028"} , ...

因为您正在将php数组转换为json对象。来自Adil的示例将创建一个与$ data数组完全相同的数组:)顺便说一句,如果你想实现更多的安全性,请看一下:http://php.net/manual/de/mysqli.prepare.php它会阻止诸如SQL注入等丑陋的事情;)

以防你正在寻找这样的东西:

$tmp = '';
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $tmp .= '"'.$row['clock'].'" => "'.$row['price'].'",';
}

echo $tmp;

这将输出:字符串“15:01:14”=> “。0032”,“15:05:14”=> ” 0.0028" ,...