ホームページ > バックエンド開発 > PHPの問題 > PHPで配列とURLパラメータ文字列の間で変換する方法

PHPで配列とURLパラメータ文字列の間で変換する方法

PHPz
リリース: 2023-04-19 13:54:00
オリジナル
1063 人が閲覧しました

Web 開発では、ページ間のデータ転送や API インターフェイス リクエストでのパラメーター転送のために、配列を URL パラメーター文字列に変換する必要があることがよくあります。 PHP では、いくつかの組み込み関数を使用して、配列と URL パラメーター文字列の間で変換を行うことができます。次に、この機能を実現するための一般的な方法をいくつか紹介します。

1. 配列を URL パラメーター文字列に変換する

  1. http_build_query() 関数

http_build_query() 関数は、配列を URL に変換できます。パラメータ文字列。この関数の構文は次のとおりです。

string http_build_query ( mixed $query_data , string $numeric_prefix = "" , string $arg_separator = "" , int $enc_type = PHP_QUERY_RFC1738 )
ログイン後にコピー

このうち、query_data パラメータは変換対象のデータを含む連想配列または数値インデックス配列で、numeric_prefix パラメータは数値パラメータに必要なオプションの文字列プレフィックスです。インデックス配列。デフォルトは空です。文字列、arg_separator パラメータはオプションのパラメータ区切り文字、デフォルト値は「&」、enc_type パラメータはオプションの文字列形式、デフォルトは PHP_QUERY_RFC1738 です。

サンプル コード:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data);
echo $query_string;
?>
ログイン後にコピー

出力結果は次のとおりです:

user=admin&email=admin%40example.com&age=18
ログイン後にコピー
  1. カスタム パラメーターの区切り文字とプレフィックス

サンプル コード:

<?php
$data = array(
   &#39;user&#39; => 'admin',
   'email' => 'admin@example.com',
   'age' => 18
);
$query_string = http_build_query($data, 'id_', '|');
echo $query_string;
?>
ログイン後にコピー

出力結果は次のとおりです:

id_user=admin|id_email=admin%40example.com|id_age=18
ログイン後にコピー
  1. urlencode() 関数

urlencode() 関数は、URL パラメータ文字列と特殊文字をエンコードできます。サンプルコード:

<?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;
?>
ログイン後にコピー

出力結果は:

user%3Dadmin%26email%3Dadmin%2540example.com%26age%3D18
ログイン後にコピー

2. URL パラメータ文字列を配列に変換します

  1. parse_str() 関数

parse_str() 関数は、URL パラメータ文字列を解析して連想配列に変換できます。サンプル コード:

ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
ログイン後にコピー
ログイン後にコピー
  1. explode() 関数を使用して手動で解析します。

http_build_query() 関数がURL パラメータの生成には使用されません。文字列は、explode() 関数を使用して手動で解析することもできます。サンプルコード:

ログイン後にコピー

出力結果:

Array
(
    [user] => admin
    [email] => admin@example.com
    [age] => 18
)
ログイン後にコピー
ログイン後にコピー

3. まとめ

上記は、PHP配列をURLパラメータ文字列に変換し、URLパラメータ文字列を変換する処理です。配列メソッドに変換します。実際の開発では、これらのメソッドを柔軟に利用して、APIインターフェースリクエストにおけるデータ転送やパラメータ転送を実現できます。

以上がPHPで配列とURLパラメータ文字列の間で変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート