Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie zwischen Arrays und URL-Parameterzeichenfolgen in PHP

So konvertieren Sie zwischen Arrays und URL-Parameterzeichenfolgen in PHP

PHPz
PHPzOriginal
2023-04-19 11:37:101019Durchsuche

In der Webentwicklung müssen wir häufig Arrays in URL-Parameterzeichenfolgen für die Datenübertragung zwischen Seiten oder die Parameterübertragung in API-Schnittstellenanforderungen konvertieren. In PHP können wir über einige integrierte Funktionen zwischen Arrays und URL-Parameterzeichenfolgen konvertieren. Als Nächstes werde ich einige gängige Methoden zum Erreichen dieser Funktion vorstellen.

1. Array in URL-Parameterzeichenfolge konvertieren

  1. http_build_query()-Funktion

http_build_query()-Funktion kann Array in URL-Parameterzeichenfolge konvertieren. Die Syntax dieser Funktion lautet wie folgt:

string http_build_query ( mixed $query_data , string $numeric_prefix = "" , string $arg_separator = "" , int $enc_type = PHP_QUERY_RFC1738 )

Unter diesen ist der Parameter query_data ein assoziatives Array oder ein numerisches Indexarray, das die zu konvertierenden Daten enthält, und der Parameter numeric_prefix ist das optionale Zeichenfolgenpräfix, das für das numerische Indexarray erforderlich ist Der Standardwert ist eine leere Zeichenfolge, arg_separator Der Parameter ist ein optionales Parametertrennzeichen, der Standardwert ist „&“, der Parameter enc_type ist ein optionales Zeichenfolgenformat, der Standardwert ist PHP_QUERY_RFC1738.

Beispielcode:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
echo $query_string;
?>

Das Ausgabeergebnis ist:

user=admin&email=admin%40example.com&age=18
  1. Benutzerdefiniertes Parametertrennzeichen und Präfix

Beispielcode:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data, 'id_', '|');
echo $query_string;
?>

Das Ausgabeergebnis ist:

id_user=admin|id_email=admin%40example.com|id_age=18
  1. urlencode()-Funktion

urlencode() Die Funktion kann URL-Parameterzeichenfolgen kodieren und Sonderzeichen maskieren. Beispielcode:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
$query_string = urlencode($query_string);
echo $query_string;
?>

Das Ausgabeergebnis ist:

user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18

2. Konvertieren Sie die URL-Parameterzeichenfolge in ein Array.

  1. parse_str()-Funktion

parse_str()-Funktion kann die URL-Parameterzeichenfolge in ein assoziatives Array analysieren. Beispielcode:

Das Ausgabeergebnis ist:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
  1. Verwenden Sie die Funktion „explosive()“ zum manuellen Parsen

Wenn Sie die Funktion „http_build_query()“ nicht zum Generieren der URL-Parameterzeichenfolge verwenden, können Sie auch „explosive“ verwenden ()-Funktion zum manuellen Parsen. Beispielcode:

Das Ausgabeergebnis ist:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)

3. Zusammenfassung

Das Obige ist die Methode zum Konvertieren eines PHP-Arrays in eine URL-Parameterzeichenfolge und zum Konvertieren einer URL-Parameterzeichenfolge in ein Array. In der tatsächlichen Entwicklung können wir diese Methoden flexibel nutzen, um die Datenübertragung und Parameterübertragung in API-Schnittstellenanforderungen zu realisieren.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie zwischen Arrays und URL-Parameterzeichenfolgen in PHP. 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