簡體   English   中英

將php多維數組轉換為json格式以在jQuery $ .post中使用

[英]Convert php multidimensional array to json format to use in Jquery $.post

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格式的代碼中存在錯誤。 請什么需要糾正?

如果我理解正確,那么您只想從數組中返回第一行,則只需執行此操作

echo json_encode($array[0]);

UPDATE

我想我知道您現在要做什么,您正在嘗試將索引附加到每一行的FinalCurrencyRate鍵中。 無需這樣做,您應該做的就是將您的JavaScript代碼更改為如下所示:

$('#currency_load0').html(data[0].FinalCurrencyRate);
$('#currency_load1').html(data[1].FinalCurrencyRate);//and so on

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM