2016-07-06 9 views
0

私はこのコードを使用してjp関数にphp varを持っていますが、適切な書式設定(出力)を得ることができません。ハイチャートには数字が必要だと思いますが、「intval」を使っても文字列を作成しています。json_encode出力ハイチャートの書式設定

series: [{ 
      name: 'Spyware', 
      data: [0, 3, 0, 0, 0] 
     }, { 
      name: 'Viruses', 
      data: [ <?php echo json_encode(intval($virusNum)); ?> , 0, 0, 0, 0] 
     }, { 
      name: 'Brute Force Attacks', 
      data: [0, 0, 0, 0, 0] 
     }, { 
      name: 'Host Sweeps', 
      data: [0, 0, 0, 0, 0] 
     }, { 
      name: 'Anonymizer/Proxy Server', 
      data: [0, 0, 0, 0, 0] 
     }] 

ここでは、$ virusNum変数を作成します。

$viruses[$aPos] = intval($freq); 
$virusNum = $virusNum + $viruses[$aPos]; 
+0

なぜjson_encode関数を使用しますか? –

+0

JSONは常に文字列です.Json_encodeの結果を 'JSON.parse'する必要があります。 – apokryfos

答えて

0

なぜjson-encodeですか?これは単なる整数値なので、その必要はありません。

data: [ <?php echo intval($virusNum); ?> , 0, 0, 0, 0] 
+0

他に何も入っていないと良い習慣がありません。あなたは注射の問題の可能性がないことを知っている場合でも、安全なSQLクエリを書くようなものです。 –

+0

@MarcB私はそう思います。しかし、JSON仕様ではカバーされていないものが、適切なデータ構造(オブジェクトや配列)に含まれていないときにプリミティブがエンコード/デコードされる方法など、非標準のライブラリ固有のJSONエンコーディング動作に頼っていると思います。悪い。 –

+0

これは動作しません。 - このコメントを保存した後に2つのコメントが表示されたことを私がちょうど見たように追加したいと思っています。私はPHPのnoobですので、そのコメントはギリシャ語です。とにかくThx。 – RandyMCode

1

私はあなたがPHPでjson_encode function$optionsパラメータを使用する必要があるかもしれないと思う:

json_encode(intval($virusNum), JSON_NUMERIC_CHECK) 

JSON_NUMERIC_CHECK(整数)

が数値として数値文字列をエンコードします。 PHP 5.3.3から利用可能です。

+0

ありがとうございますが、動作しません。以前と同じ出力はありません。 – RandyMCode

+0

PHPが処理した後のコードはどのように見えますか? $ virusNumは値0で始まっていますか? – Quantastical

関連する問題