2 votes

Convertir un objet Javascript en un tableau PHP

J'envoie ce tableau JavaScript dans une page PHP en utilisant la soumission de formulaire {"1":"2","2":"2","3":"2","4":"2"}

Maintenant, je veux convertir ce tableau en tableau PHP, comme ceci

$cars = array("Volvo", "BMW", "Toyota");

C'est ce que j'ai essayé:

$phparray = str_replace(':', ',', $_POST["questionandanswers"]); // Supprimer : et le remplacer par ,
$phparray = str_replace('}', '', $phparray); // Supprimer }
$phparray = str_replace('{', '', $phparray); // Supprimer {
echo '';
echo $phparray; // La sortie est: "1","2","2","2","3","2","4","2"

$questionandanswers = array($phparray); // Maintenant le convertir en tableau PHP

Mais cela ne fonctionne pas. On dirait que je ne peux pas mettre la variable $phparray ici : array($phparray)

Mais, au lieu de mettre la variable $phparray dans array($phparray), si je mets la sortie de $phparray manuellement, alors ça marche comme ça : array("1","2","2","2","3","2","4","2")

Quelle est la solution?

3voto

Osama Points 2247

Il semble que votre formulaire envoie un objet JSON au serveur, utilisez json_decode avec le deuxième paramètre défini sur true pour le convertir en tableau

$php_array = json_decode($_POST["questionandanswers"], true)

1voto

Arka Roy Points 76

Utilisez json_decode comme json_decode($json). Cela retournera un objet. Si vous voulez un tableau, utilisez json_decode($json, true). Voir : http://sg2.php.net/manual/en/function.json-decode.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X