<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Dieser Teil hat nichts mit dem Inhalt des Artikels zu tunPHPCodebeispiel</span></span><span>
</span><span><span class="hljs-variable">$example</span></span><span> = [</span><span><span class="hljs-string">"title"</span></span><span> => </span><span><span class="hljs-string">"PHP Article"</span></span><span>, </span><span><span class="hljs-string">"date"</span></span><span> => </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"Y-m-d"</span></span><span>)];
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$example</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
</span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Starten Sie den Text</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<h1>http_build_query Wie Funktionen mit komplexen verschachtelten Array -Strukturen umgehen?Was sind die Tipps??</h1>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<p>existieren PHP Mitte,<code>http_build_query() ' ; Echo " Wenn ein Array verschachtelte Arrays enthält, verwendet http_build_query () quadratische Klammern, um hierarchische Beziehungen darzustellen:
" ; Echo ''; echo '`` `php $ data = [" user "=> [" name "=>" alice "," mail "=>" [email protected] "]," Tags "=> [" php "," web "]; $ query = http_build_query ($ data); echo $ query; // Ausgabe: Benutzer%5Bname%5d = Alice & User%5Bemail%5d = Alice%40Example.com & Tags%5B0%5D = PHP & Tags%5B1%5D = Web `` `` ' ; Echo '' ; Echo "
Es ist ersichtlich, dass die Schlüssel des verschachtelten Arrays automatisch in die Form von Benutzer [Name] und Tags [0] konvertiert werden und URL-codiert sind.
" Echo "Der Funktionsprototyp ermöglicht das Übergeben in den zweiten und dritten Parametern:
" ; Echo ''; echo '`` `` php http_build_query (array $ query_data, string $ numeric_prefix = "", string $ arg_separator = "&", int $ coding_type = php_query_rfc1738): string `` `` `` `` `' ; Echo '' ; Echo "
- numeric_prefix : Wenn die Array -Taste eine Nummer ist, kann ein Präfix hinzugefügt werden.
- Arg_separator : Gibt den Trennzeichen (Standard &) zwischen verschiedenen Parametern an.
'; echo '`` `PHP -Funktion flacher_array ($ array, $ prefix =" ") {$ result = []; foreach ($ array als $ key => $ value) {$ new_key = $ prefix === ""? $ key: $ prefix. "[". $ key. "]"; if (is_array ($ value)) {$ result = array_merge ($ result, flachten_array ($ value, $ new_key)); } else {$ result [$ new_key] = $ value; }} return $ result; } $ data = ["user" => ["name" => "alice", "mail" => "[email protected]"], "Tags" => ["PHP", "Web"]; $ query = http_build_Query (flacher_array ($ data)); echo $ query; // Ausgabe: Benutzer [Name] = Alice & Benutzer [E -Mail] [email protected]&tags [0] = Php & Tags [1] = Web `` '' ; Echo '' ; Echo "
Durch Abflachen des Arrays können wir das endgültige Abfrage -Zeichenfolgenformat flexibler steuern.
" Echo "http_build_query () ist ein leistungsstarkes Werkzeug zum Umgang mit URL -Abfrageparametern. Wenn Sie jedoch mit komplexen verschachtelten Arrays zu tun haben, müssen Sie verstehen, wie es codiert wird. Bei Bedarf können Sie Abflachung, JSON oder Anpassungsmethoden verwenden, um die Korrektheit und Lesbarkeit der Datenübertragung zu gewährleisten.
" ?>