Konvertieren Sie PHP-Array-Objekte in URL-Parameter

王林
Freigeben: 2023-05-07 17:53:07
Original
589 Leute haben es durchsucht

Bei der PHP-Entwicklung ist es manchmal notwendig, Arrays oder Objekte in URL-Parameter umzuwandeln. Wenn wir beispielsweise cURL zum Senden einer HTTP-Anfrage verwenden, müssen wir die Anforderungsparameter in das URL-Parameterformat konvertieren. Erfahren Sie, wie Sie Array-Objekte in PHP in URL-Parameter konvertieren.

  1. PHP-Array zu URL-Parametern

Verwenden Sie die Funktion http_build_query, um ein PHP-Array in eine URL-Parameterzeichenfolge umzuwandeln. Das Codebeispiel lautet wie folgt:

$params = array('name' => '张三', 'age' => 18);
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89&age=18
Nach dem Login kopieren

Der erste Parameter der Funktion http_build_query ist ein Array, der zweite Parameter ist das Präfix und der dritte Parameter ist das Trennzeichen. Wenn keine Präfixe und Trennzeichen vorhanden sind, müssen diese beiden Parameter nicht übergeben werden.

  1. PHP-Objekt in URL-Parameter

Für PHP-Objekte können wir sie zunächst in Arrays konvertieren und sie dann mit der Funktion http_build_query in URL-Parameter konvertieren. Das Codebeispiel lautet wie folgt:

class User {
  public $name;
  public $age;
  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
}
$user = new User('张三', 18);
$params = (array)$user; // 将对象转换成数组
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89&age=18
Nach dem Login kopieren
  1. Umgang mit Sonderzeichen

Wenn Sie die Funktion http_build_query zum Konvertieren verwenden, müssen Sie besonders darauf achten, ob die Parameter Sonderzeichen enthalten. Beispielsweise müssen Zeichen wie Leerzeichen, +, / usw. in URL-Parametern in ein bestimmtes Codierungsformat maskiert werden. Das Codebeispiel lautet wie folgt:

$params = array('name' => '张三 王五', 'age' => 18);
$queryString = http_build_query($params);
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89+%E7%8E%8B%E4%BA%94&age=18
Nach dem Login kopieren

Im obigen Beispiel enthält der Parameter Leerzeichen, die die Funktion http_build_query in ein Pluszeichen (+) umwandelt. Wenn Sie in das UTF-8-Kodierungsformat konvertieren müssen, können Sie die URL-Code-Funktion verwenden:

$params = array('name' => '张三 王五', 'age' => 18);
$queryString = http_build_query($params);
$queryString = str_replace('+', '%20', $queryString); // 将加号替换成UTF-8编码格式的空格
echo $queryString; // 输出:name=%E5%BC%A0%E4%B8%89%20%E7%8E%8B%E4%BA%94&age=18
Nach dem Login kopieren

Zusammenfassung:

Durch die obigen Beispiele haben wir gelernt, wie man Array-Objekte in PHP in URL-Parameter konvertiert. Konkret können wir die Funktion http_build_query verwenden, um ein PHP-Array in eine URL-Parameterzeichenfolge umzuwandeln, oder wir können das Objekt zuerst in ein Array umwandeln und es dann mit dieser Funktion umwandeln. Gleichzeitig müssen Sie bei der Verarbeitung von Sonderzeichen berücksichtigen, ob Sie die URL-Code-Funktion für die Codierungskonvertierung verwenden müssen.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie PHP-Array-Objekte in URL-Parameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage