2016-07-06 11 views
0

Ich benutze diesen Code, um eine PHP-Var in eine js-Funktion zu bringen, aber ich kann nicht scheinen, die richtige Formatierung (Ausgabe) zu bekommen. Ich denke, Highcharts brauchen Zahlen, aber es erzeugt einen String, selbst wenn ich "intval" verwende.json_encode Ausgabe Formatierung für Highcharts

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] 
     }] 

Hier ist, wo ich die Variable $ virusNum erstellen.

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

Warum verwenden Sie die json_encode-Funktion? –

+0

JSON ist immer eine Zeichenkette, Sie müssen 'JSON.parse' das' json_encode'ed Ergebnis. – apokryfos

Antwort

0

Warum json-encode dort? Dies ist nur ein ganzzahliger Wert, daher ist dies nicht erforderlich.

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

gute Angewohnheit, wenn nichts anderes. So ähnlich wie das Schreiben sicherer SQL-Abfragen, auch wenn Sie wissen, dass es kein Injektionsproblem gibt. –

+0

@MarcB Ich nehme an. Aber ich denke, dass man sich auf nicht-standardmäßige, bibliotheksspezifische JSON-Codierungsverhaltensweisen verlässt, wie etwa das Codieren/Decodieren von Primitiven, wenn sie sich nicht in einer geeigneten Datenstruktur (Objekt oder Array) befinden - etwas, das nicht von der JSON-Spezifikation abgedeckt wird Schlecht. –

+0

Dies funktioniert auch nicht. - Wollte das hinzufügen, da ich gerade die 2 Kommentare gesehen habe, nachdem ich diesen Kommentar gespeichert habe, dass ich ein php noob bin, also sind diese Kommentare für mich griechisch. Thx sowieso. – RandyMCode

1

Ich denke, man kann den $options Parameter des json_encode function in PHP verwenden müssen:

json_encode(intval($virusNum), JSON_NUMERIC_CHECK) 

JSON_NUMERIC_CHECK (integer)

numerischen Strings als Zahlen Codiert. Verfügbar seit PHP 5.3.3.

+0

Danke, funktioniert aber nicht. Keine Ausgabe wie zuvor. – RandyMCode

+0

Wie sieht der Code aus, nachdem PHP ihn verarbeitet hat? Beginnt $ virusNum mit einem Wert von 0? – Quantastical