حدد مدى اهتمامك بهذا السؤال
0

Filtre personnalisé sur #ARRAY

Bonjour,

J’ai un squelette qui sort une page JSON, au moyen d’une boucle similaire à celle-ci :
http://contrib.spip.net/local/cache-code/b21166f11cbafd76a837edad83157b0a.txt

Le problème est que le résultat de json_encode est donc particulièrement hideux et prend beaucoup plus de place. JSONLint (http://jsonlint.com) me montre que le JSON produit pourrait être beaucoup plus propre.

J’ai bien tenté d’ajouter le flag JSON_UNESCAPED_UNICODE, hélas je ne dispose que de PHP 5.2.x sur mon serveur, alors que la gestion des flags n’a été ajouté qu’à partir de PHP 5.3, et le flag particulier dont j’ai besoin qu’à partir de PHP 5.4.

Sur la page http://www.php.net/manual/en/function.json-encode.php#105789 un utilisateur propose une fonction intéressante pour émuler ce comportement. J’ai donc essayé d’en faire un filtre personnalisé (dans le fichier mes_fonctions.php) mais hélas il semble que seuls des arguments de type string sont acceptés : ma fonction reçoit la chaîne de caractères "Array" au lieu du tableau qu’elle est censée traiter.

Comment faire pour appliquer une fonction personnalisée à chaque élément d’un tableau ?

Merci.