J'essaie de remplir un tableau en php avec des variables, mais ça ne marche pas du tout. J'utilise JSON et Javascript ..
Quoi qu'il en soit, voici le code PHP que Javascript appelle.
<?php
$username = $_POST['username'];
$json = '{
"userdata": [
{
"first":"$username"
},
{
"first":"Lester"
},
{
"first":"Mannix"
}
]
}';
echo $json;
?>
Maintenant, le problème est que ce que je reviens à Javascript est "$ username", en texte brut, pas la valeur de la variable.
Merci d'avance.
3 réponses
Les variables ne sont pas reconnues entre guillemets simples [doc]
Contrairement aux syntaxes entre guillemets doubles et hérédoc, les variables et séquences d'échappement pour les caractères spéciaux ne seront pas développées lorsqu'elles se produisent dans des chaînes entre guillemets simples.
$json = '{
"userdata": [
{
"first":"'.$username.'"
},
{
"first":"Lester"
},
{
"first":"Mannix"
}
]
}';
C'est une mauvaise façon de créer un tableau JSON
$json = array(
"userdata" => array(
array("first" => $_POST['username']),
array("first" => "Lester"),
array("first" => "Mannix"),
)
);
echo json_encode($json);
UTILISEZ json_encode
!
$json = array('userdata' => array(
array('first'=>'foo'),
array('first'=>'bar'),
array('first'=>'bof')
));
echo json_encode($json);
Production
{"userdata":[{"first":"foo"},{"first":"bar"},{"first":"bof"}]}
Questions connexes
De nouvelles questions
php
PHP est un langage de script largement utilisé, de haut niveau, dynamique, orienté objet et interprété, principalement conçu pour le développement Web côté serveur. Utilisé pour les questions sur le langage PHP.