我有一些來自查詢的數字,我必須使用json_encode函數來表示。 一切工作,但輸出看起來像這樣將數組元素從字符串轉換爲數字
{ "label": "man", "data":[["0","1.13"], ["1","1.38"], ["2","1.87"], ["3","1.12"], ["4","1.28"]]}
,所以我覺得現在的問題是,所有的號碼都存儲爲字符串。 有沒有一個函數可以轉換所有元素的數量?
我有一些來自查詢的數字,我必須使用json_encode函數來表示。 一切工作,但輸出看起來像這樣將數組元素從字符串轉換爲數字
{ "label": "man", "data":[["0","1.13"], ["1","1.38"], ["2","1.87"], ["3","1.12"], ["4","1.28"]]}
,所以我覺得現在的問題是,所有的號碼都存儲爲字符串。 有沒有一個函數可以轉換所有元素的數量?
您可能要JSON_NUMERIC_CHECK添加到您的json_encode功能:
json_encode($array, JSON_NUMERIC_CHECK);
你可以得到一個變量與此整數或浮點數值:
echo (integer)$variable;
echo (float)$variable;
,那麼你可以標記答案是正確的,如果我使用echo而不是使用json_encode,那麼這很好......感謝大家的答案! – Nicolaesse
<?php
$json = '{ "label": "man", "data":[["0","1.13"], ["1","1.38"], ["2","1.87"], ["3","1.12"], ["4","1.28"]]}';
$structure = json_decode($json, true);
$newData = $structure['data'];
for ($x=0;$x<count($newData);$x++):
for ($i=0;$i<count($newData[$i]);$i++):
$newData[$x][$i] = (float)$newData[$x][$i];
endfor;
endfor;
$structure['data'] = $newData;
print json_encode($structure);
新結果:
{"label":"man","data":[[0,1.13],[1,1.38],[2,1.87],[3,1.12],[4,1.28]]}
''所以我瘦k問題是所有的數字都以字符串形式存儲。「什麼問題? –