Je passe un tableau comme une chaîne en paramètre à une api en php comme ceci:chaîne Convertir en tableau dans l'appel API
http://xx.xx.xx.xx/api.php?query="array(done = 1)"
Dans mon fichier api, je l'ai utilisé ce tableau pour frapper une requête mongodb :
$query = $_REQUEST['query'];
$cursor = $collection->find($query);
Mais cela n'a pas fonctionné. Lorsque j'ai codé en dur array(done = 1)
dans la requête find
, cela semble fonctionner correctement.
if (array('done' => 1) == $query) {
echo "Y";
}
else {
echo "N";
}
Le code ci-dessus imprime N
. Donc je suppose que c'est parce que $query
est passé en tant que chaîne. PS: J'ai également essayé json_encode, json_decode et unerialize mais cela n'a pas fonctionné. Je pourrais faire quelque chose de mal ici.
Comment avez-vous essayé avec json_encode? Montrez-nous s'il vous plaît ... –
Utilisez 'serialize()' et 'unserialize()' ou le faire avec des sessions. – Twinfriends
Vous pouvez suivre ce lien: https://stackoverflow.com/questions/6243051/how-to-pass-an-array-within-a-query-string –