hi
Rekursion -> siehe Rekursion...
Du hast gesagt, Array-Parameter im body eines POST-Requests werden genauso x-www-form-urlencoded aufgebaut wie im Query-String.
Bei Rückfrage "Wie sieht das genau aus?" verweist Du auf den Post-Body.
Äh??? Könntest Du ein Beispiel zeigen, wie man ein Array exakt und normgerecht urlencoden müsste?
['A','B','C']
<=> name=A&name=B&name=C
Daß gleichnamige Felder ein Array bilden legt ja schon die HTML Spec. fest. Und wie sich diese im Content-Type: application/x-www-form-urlencoded wiederfinden siehe oben. Das machen alle Browser so weil sie diesen Enctype implementieren. Und das Encoding ist wieder eine andere Sache, dafür ist auch der Begriff Prozentkodierung geläufig. Die Prozentkodierung hat mit dem Array gar nichts zu tun, damit werden nur bestimmte Oktetten kodiert und natürlich die Trennzeichen wenn diese selbst in den values vorkommen.
Siehe auch: encodeURI und encodeURIComponent. Sowie decode~, URI::Escape usw. und das ist in RFC 3986 beschrieben.
MfG