我有這個 php 代碼,因為我試圖在我的 php 專案中執行一個特定的函式,我對實作進行了正確的編碼,但我遇到了一個小問題。
<?php echo '<script type="text/javascript">';
$data = array(
'base' => 'USD',
'alter' => 'ETH',
'data' => array()
);
foreach ($cryptos as $row) {
$sy = $row["symbol"];
$data['data'][] = array(
"$sy" => [
"rate" => 1.552000000000000,
"min" => 1.0077600000000000,
"max" => 10.077600000000000,
"code" => $row["symbol"],
"dp" => 8
],
);
}
print_r("var fxCur = " . json_encode($data));
運行上面的代碼我得到了下面的結果,這是預期的結果,但我想在資料之間省略 []
{
"base":"USD",
"alter":"ETH",
"data":[
{
"BTC":{
"rate": 1.552000000000000,
"min": 1.0077600000000000,
"max": 10.077600000000000,
"code":"BTC",
"dp":8
}
},
{
"ETH":{
"rate": 1.552000000000000,
"min": 1.0077600000000000,
"max": 10.077600000000000,
"code":"ETH",
"dp":8
}
}
]
}
但實際上我想要這個結果
{
"base":"USD",
"alter":"ETH",
"data":{
"BTC":{
"rate": 1.552000000000000,
"min": 1.0077600000000000,
"max": 10.077600000000000,
"code":"BTC",
"dp":8
},
"ETH":{
"rate": 1.552000000000000,
"min": 1.0077600000000000,
"max": 10.077600000000000,
"code":"ETH",
"dp":8
},
}
}
uj5u.com熱心網友回復:
您是在告訴它以這種方式構建資料結構。
$data['data'][] = array(
"$sy" => [
...
]
);
該行表示“$data['data']在下一個整數索引處追加一個元素并將其設定為等于陣列,例如[ "BTC" => [ ... ]]
我想你想要的是:
$data['data'][$sy] = [
"rate" => 1.552000000000000,
"min" => 1.0077600000000000,
"max" => 10.077600000000000,
"code" => $row["symbol"],
"dp" => 8
];
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/327255.html
上一篇:已修復的代碼行出錯
下一篇:更新類中Json屬性的名稱
