[英]PHP changing array format
我正在嘗試從中更改數組格式
{"updated":"2016-01-28 02:00:02","rate":"0.1898"}
對此
[2016-01-28 02:00 , 0.1898]
我從MySQL查詢中獲取第一種數組格式,需要轉換為第二種格式才能在折線圖中使用。
$newVal = array();
foreach ($dbresult as $key => $value) {
$newVal[] = json_encode(array_values($value));
}
echo implode(",", $newVal);
有了這個新的代碼塊,我得到了這種格式
["2016-01-28 02:00" , "0.1898"]
但是仍然需要擺脫雙引號,有什么想法嗎?
試試這個代碼
$string = ' {"updated":"2016-01-28 02:00:02","rate":"0.1898"}';
$array = json_decode($string, true);
$str = json_encode(array_values($array));
echo str_replace('"', '', $str);
$json = '[{"updated":"2016-01-28 02:00:02","rate":"0.1898"}]';
echo json_encode(array_map(function ($data) {
return [$data->updated, $data->rate];
}, json_decode($json)));
換一種說法:
updated
在所述第一索引和rate
在第二 第3步是必需的,因為JSON對象不保證任何特定的順序,因此依靠密鑰的解碼順序是不可靠的; 即使向對象添加更多鍵,它也可以確保您獲取所需的數據。
你應該試試這個
$str ='{"updated":"2016-01-28 02:00:02","rate":"0.1898"}';
$data=json_decode($str);
echo '<pre>';
echo 'json decode it returns ojbects<br>';
print_r($data);
echo 'convert object into array<br>';
$data=(array)$data;
print_r($data);
echo 'Your Output<br>';
echo json_encode(array_values($data));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.