0

有了fetchAll(PDO::FETCH_ASSOC)这样的数组

$array = 
Array
(
    [0] => Array
        (
            [FinalCurrencyRate] => 0.000062
        )
)

需要json_encode使用在

$.post("__02.php", { 'currency': currency }, function(data, success) {
$('#currency_load').html(data.FinalCurrencyRate);
$('#currency_load0').html(data.FinalCurrencyRate0);
$('#currency_load1').html(data.FinalCurrencyRate1);//and so on
}, "json");

如果只是echo json_encode($array);那么不起作用。

需要像这样转换成 json 格式的数组:

$arr = array ('FinalCurrencyRate'=>"0.000062");

要转换为json格式,写了这样的代码

$json_array = "{";
$flag_comma = 0;
foreach($array as $i =>$array_modified) {

if ($flag_comma == 0) {
$json_array .="'FinalCurrencyRate". $i."'=>'". $array_modified[FinalCurrencyRate]. "'";
$flag_comma = 1;
}
else {
$json_array .=", 'FinalCurrencyRate". $i."'=>'". $array_modified[FinalCurrencyRate]. "'";
}

}
$json_array .= "}";

然后echo json_encode($json_array);。而且只有一个echo json_encode

但不起作用。

了解转换为json格式的代码有错误。请问有什么需要改正的?

4

1 回答 1

1

如果我理解正确你只想从你的数组中返回第一行,那么你只需要这样做

echo json_encode($array[0]);

更新

我想我明白了你现在想要做什么,你正试图将索引附加到FinalCurrencyRate每一行的键上。不需要这样做,你应该做的是将你的 javascript 代码更改为如下所示:

$('#currency_load0').html(data[0].FinalCurrencyRate);
$('#currency_load1').html(data[1].FinalCurrencyRate);//and so on
于 2013-08-25T08:20:48.353 回答