J'ai un script PHP qui est appelé via jQuery AJAX. Je veux que le script PHP renvoie les données au format JSON au javascript. Voici le pseudo code dans le script PHP:
$json = "{";
foreach($result as $addr)
{
foreach($addr as $line)
{
$json .= $line . "\n";
}
$json .= "\n\n";
}
$json .= "}";
Fondamentalement, j'ai besoin que les résultats des deux boucles for soient insérés dans $ json.
php
javascript
json
AquinasTub
la source
la source
Voici quelques éléments manquants dans les réponses précédentes:
Définissez l'en-tête dans votre PHP:
json_encode()
peut renvoyer un tableau JavaScript au lieu d'un objet JavaScript , voir:Renvoyer JSON à partir d'un script PHP
Cela peut être important à savoir dans certains cas car les tableaux et les objets ne sont pas les mêmes.
la source
json_encode()
(comme toutes les fonctions) renvoie toujours quelque chose (y comprisNULL
); Vous pouvez également (et devriez!) Vérifier ce que renvoie chaque fonction que vous ne connaissez pas, voir notre exemple json_encode () it states Renvoie une chaîne codée JSON en cas de succès ou FALSE en cas d'échec.return
return json_encode($jsonArray);
ne fonctionnait pas (AngularJS http.get n'a rien obtenu), jusqu'à ce que je le remarque plus tard :)Il y a une section JSON dans la documentation PHP. Vous aurez cependant besoin de PHP 5.2.0.
Sinon, voici la bibliothèque PECL que vous pouvez installer.
la source
Habituellement, vous seriez intéressé à avoir également une certaine structure pour vos données à l'extrémité de réception:
Cela conservera également les clés du tableau.
N'oubliez pas que json_encode ne fonctionne que sur les données encodées en utf8.
la source
Vous pouvez utiliser Simple JSON pour PHP . Il envoie les en-têtes vous aider à forger le JSON.
On dirait :
la source
$ msg = "Vous entrez un mauvais nom d'utilisateur OU mot de passe"; $ responso = json_encode ($ msg);
la source