2017-05-09 5 views
1

Ich habe ein Array:Ersetzen doppelte Anführungszeichen durch einfache Verwendung json_encode

['One', 'Two',...] 

Und wenn ich auf diesem Array verwenden json_enconde, gibt sie mir dies:

["One", "Two",...] 

Ich brauche dieses Array übergeben Zu einer JS-Funktion und zum Erfolg muss ich ein Array wie das erste übergeben, nur mit einfachen Anführungszeichen. Json_encode gibt das Array jedoch in doppelten Anführungszeichen zurück.

Gibt es eine Lösung, um in den json_encode (myArray) doppelte Anführungszeichen durch einfache Anführungszeichen zu ersetzen?

Als ich

[\'One\',\'Two\',...] 

verwenden funktioniert es meine JS-Funktion ein Array zurückgibt, nur mit dieser Art und Weise. Also muss ich so etwas passieren.

Ich habe so etwas wie

echo '<div onclick="generateUP(\'john\','.json_encode($myArray).',\'smith\')"></div>'; 

Es funktioniert nicht, aber

echo '<div onclick="generateUP(\'john\',[\'One\',\'Two\'],\'smith\')"></div>'; 

funktioniert super ...

Dank

+0

Es gibt keinen wirklichen Unterschied zwischen diesen 2 Arrays. HINWEIS: JSON schreibt vor, dass doppelte Anführungszeichen um Text- und Feldnamen erwartet werden. – RiggsFolly

+0

PS: Das erste einfache Zitat, das Sie in Beispiel eins haben, ist kein gültiges einfaches Zitat! Verwenden Sie einen Texteditor und nicht einen Dokumenteditor (Wort), um Ihren Code zu schreiben – RiggsFolly

+0

Haben Sie das versucht? http://stackoverflow.com/questions/2424281/how-do-i-replace-double-quotes-with-single-quotes –

Antwort

0

was ist, wenn Sie tun, wie diese

dies einer JavaScript-Variablen zuweisen und Variable in dieser Funktion als Parameter senden?

?> 
<script type='text/javascript'> 
var data = JSON.parse('<?=json_encode($myArray)?>'); 
</script> 
<?php 
echo '<div onclick="generateUP(\'john\',data ,\'smith\')"></div>'; 
+0

Ich versuchte JSON.parse (‘json_encode ($ this -..> _ MyArray) ') Cuz i' m in einer PHP-Klasse arbeiten, so kann ich nicht verwenden, was Sie sagten, und es gibt SyntaxError zurück: erwarteter Ausdruck, bekam '}' – Srithovic

+0

das ist, warum ich verwendet?> vor dem Starten von HTML-Tags. Sie müssen es nicht in PHP schreiben .. nur Punkt den Prozess in PHP. echo es innerhalb der JSON.parser Funktion. –

Verwandte Themen