En PHP la fonction json_encode() permet de transformer très simplement un tableau (ou un objet) en JSON. Ce JSON est ensuite envoyé au client, qui pourra le décoder simplement en un objet (ou tableau) JavaScript.
Remarquez la fonction "header()".
Toute réponse HTTP contient des données appelées "entêtes". Attention: il ne s'agit pas des entêtes du HTML, mais des informations, cachées, en dehors de tout code HTML.
Dans ces entêtes HTTP, on doit préciser le type de contenu transmis:
Pour du HTML: Content-type: text/html
Pour du JSON : Content-type: application/json