2011-11-10 12 views
1

私はクエリから来て、json_encode関数を使って表現しなければならない数字をいくつか持っています。 すべての作業が、出力はので、私は問題はすべての数字が文字列として保存されているということだと思い、この配列要素を文字列から数値に変換します

{ "label": "man", "data":[["0","1.13"], ["1","1.38"], ["2","1.87"], ["3","1.12"], ["4","1.28"]]} 

のように見えます。 numberのすべての要素を変換する関数はありますか?あなたのjson_encode機能にJSON_NUMERIC_CHECKを追加したい場合があります

+2

'"私は薄くkは、すべての数字が文字列として格納されるという問題です。 " –

答えて

4

json_encode($array, JSON_NUMERIC_CHECK); 
+0

これはPHP 5.3.3で追加されました。 –

+0

@Rocket私は知っている、ただ彼に利用可能なオプションを知らせたい。 – SERPRO

+0

非常に良い...それは素晴らしいソリューションと同じくらい短いです! – Nicolaesse

1

あなたはこれで、変数の整数または浮動小数点値を取得することができます

echo (integer)$variable; 
echo (float)$variable; 
+0

json_encodeを使用する代わりにエコーを使用するといいですね。誰もが答えに感謝します! – Nicolaesse

-1
<?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]]} 
関連する問題