Votre meilleur pari est d'encoder vos données au format JSON t.
vos données
$data = array(
"foo" => "bar",
"hello" => "world"
);
votre script
<script>
var data = JSON.parse(<?php echo json_encode($data) ?>);
</script>
- PHP json_encode(value[, options])
cette fonction a plusieurs options; lire la suite dans la documentation pour dicter un comportement de codage spécifique
JSON_HEX_QUOT
JSON_HEX_TAG
JSON_HEX_AMP
JSON_HEX_APOS
JSON_NUMERIC_CHECK
JSON_PRETTY_PRINT
JSON_UNESCAPED_SLASHES
JSON_FORCE_OBJECT
JSON_UNESCAPED_UNICODE
- JavaScript JSON.parse(text[, reviver])
cette fonction prend un reviver
et prescrit comment la valeur initialement produite par l'analyse syntaxique est transformé, avant d'être renvoyé.
Une alternative (à la méthode ci-dessus) serait de fournir une API JSON asynchrone
Votre JavaScript pourrait faire un appel
// using (e.g.,) jquery
var loadPeople = function(data) {
console.log(data);
};
$.getJSON('/api/people.json').done(loadPeople);
Votre serveur PHP devrait répondre sur cette route
// response to /api/people.json
header("Content-type: application/json");
var $data = array(
"foo" => "bar",
"hello" => "world"
);
echo json_encode($data);
exit;
JavaScript co sortie nsole
{foo: "bar", hello: "world"}
Non Je ne pense pas que vous le pouvez. – putvande
Qu'est-ce que vous essayez d'entrer dans la var? –
Demandez-vous principalement comment vider un objet PHP en tant que données JSON afin de pouvoir l'utiliser en javascript côté client? – chesles