Oft gibt es Situationen, in denen Sie ein Array über einen URL-Parameter an ein Skript übergeben müssen. Es gibt verschiedene Ansätze für dieses Problem, jeder mit seinen eigenen Vor- und Nachteilen.
Naive Ansätze
Der Versuch, ein Array ohne Verarbeitung als URL-Parameter zu übergeben, kann zu Problemen führen zu chaotischen Ergebnissen. Das Verketten der Werte in einer einzigen Zeichenfolge führt zu einem unhandlichen Parameter:
$url = 'http://www.example.com?aParam[]=value1&aParam[]=value2&aParam[]=value3';
Die Funktion http_build_query()
Glücklicherweise bietet PHP eine praktische Lösung: die Funktion http_build_query( ) Funktion. Es verwendet ein assoziatives Array als Eingabe und gibt eine URL-codierte Abfragezeichenfolge zurück.
$data = array( 1, 4, 'a' => 'b', 'c' => 'd' ); $query = http_build_query(array('aParam' => $data));
Dadurch wird die folgende Abfragezeichenfolge erzeugt:
aParam%5B0%5D=1&aParam%5B1%5D=4&aParam%5Ba%5D=b&aParam%5Bc%5D=d
Beachten Sie, wie die Funktion automatisch mit den erforderlichen Schritten umgeht Escapezeichen ([ => [ und ] => ]). Dadurch wird sichergestellt, dass die Abfragezeichenfolge korrekt gebildet wird.
Das obige ist der detaillierte Inhalt vonWie kann ich Arrays effizient als URL-Parameter in PHP übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!