Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein PHP-Array in einen URI-String

So konvertieren Sie ein PHP-Array in einen URI-String

PHPz
PHPzOriginal
2023-04-20 15:02:38492Durchsuche

In der Webentwicklung müssen wir häufig PHP-Arrays in URIs konvertieren. URI (Uniform Resource Identifier) ​​oder URL (Uniform Resource Locator) ist eine Zeichenfolgenkennung, die zur Angabe einer bestimmten Ressource verwendet wird. In vielen Fällen müssen wir PHP-Arrays in das URI-Format konvertieren, um sie an APIs weiterzugeben oder in Webseiten zu verwenden.

In diesem Artikel stellen wir vor, wie man PHP-Arrays in URI-Strings umwandelt, um Funktionen wie die Übergabe von Daten, Suchanfragen und mehr zu erreichen.

  1. Verwendung von http_build_query

Die Verwendung der Funktion http_build_query ist der einfachste Weg, ein PHP-Array in das URI-Format zu konvertieren. Diese Funktion konvertiert ein PHP-Array in eine URI-codierte Zeichenfolge und gibt diese Zeichenfolge zurück:

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = http_build_query($array);

echo $queryString;

Ausgabe:

name=John+Smith&age=34

Im obigen Beispiel konvertieren wir ein PHP-assoziatives Array mit Namens- und Altersinformationen in das URI-Format. Mit der Funktion http_build_query können wir sicherstellen, dass das Ergebnis eine korrekte URI-codierte Zeichenfolge ist.

  1. URLEncode selbst implementieren

Wenn Sie die integrierte Funktion http_build_query nicht verwenden möchten, können Sie das Array manuell in das URI-Format konvertieren. In diesem Fall können wir die in PHP integrierte URL-Funktion verwenden, um die Zeichenfolge im URI zu codieren:

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = '';

foreach($array as $key => $value){
    $queryString .= urlencode($key) . '=' . urlencode($value) . '&';
}

// 去掉结尾的 &
$queryString = rtrim($queryString, '&');

echo $queryString;

Ausgabe:

name=John+Smith&age=34

Im obigen Beispiel verwenden wir foreach, um die Schlüssel und Werte im Array zu durchlaufen. und dann verwenden Sie die Funktion urlencode, um sie zu codieren. Wir haben zwischen jedem Schlüssel und Wert ein Gleichheitszeichen und ein kaufmännisches Und eingefügt und die Funktion rtrim verwendet, um das kaufmännische Und am Ende der Zeichenfolge zu entfernen.

  1. Verwendung der PHP_QUERY_RFC3986-Formatierung

In einigen Fällen müssen wir die Fax-URI-Kodierung verwenden, bei der es sich um das RFC 3986-Format handelt. Wenn wir dieses Format verwenden möchten, müssen wir beim Aufruf der Funktion http_build_query den zweiten Parameter auf PHP_QUERY_RFC3986 setzen:

<?php
$array = array(&#39;name&#39; => 'John Smith', 'age' => 34);
$queryString = http_build_query($array, '', '&', PHP_QUERY_RFC3986);

echo $queryString;

Ausgabe:

name=John%20Smith&age=34

Im obigen Beispiel verwenden wir die Funktion http_build_query, um das Array in die RFC 3986-URI-Kodierung zu konvertieren Formatzeichenfolge. Wir können sehen, dass das Leerzeichen als %20 codiert ist und das Pluszeichen nicht verwendet wird. Dies ist die in RFC 3986 spezifizierte Methode.

Zusammenfassung

In diesem Artikel haben wir drei Möglichkeiten zum Konvertieren von PHP-Arrays in URIs vorgestellt. Die Verwendung der Funktion http_build_query ist der einfachste und gebräuchlichste Ansatz, während die manuelle Implementierung der Funktion und die Verwendung des RFC 3986-Formats mehr Flexibilität und Kontrolle bietet. In jedem Fall können wir diese Techniken nutzen, um korrekt formatierte URI-Strings zu generieren, um unsere Geschäftsziele zu erreichen.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein PHP-Array in einen URI-String. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn