PHP 関数の概要 - http_build_query(): URL クエリ文字列の構築
PHP 開発では、いくつかのパラメータを URL クエリ文字列に結合する必要があるシナリオによく遭遇します。開発者がこれらのパラメータを処理し、URL 仕様に準拠する文字列に変換しやすくするために、PHP には http_build_query() 関数が用意されています。
関数の紹介
http_build_query() 関数は、連想配列またはオブジェクトを URL クエリ文字列に変換する非常に実用的な関数です。この関数は、配列またはオブジェクトのキーと値のペアを URL 仕様に準拠した文字列に自動的に変換し、それらを「&」記号で接続します。
コード例
次に、 http_build_query() 関数の使用方法を示すコード例を示します。
<?php $params = [ 'name' => 'John', 'age' => 25, 'city' => 'New York' ]; $queryString = http_build_query($params); echo $queryString; ?>
出力は次のとおりです。
name=John&age=25&city=New+York
上記の例では、 , 名前、年齢、都市の 3 つのパラメーターを含む連想配列 $params を定義します。次に、http_build_query() 関数を使用して $params 配列を URL クエリ文字列に変換し、結果を $queryString 変数に割り当てます。最後に、echo ステートメントを使用して $queryString の値を出力します。
パラメータ処理
http_build_query() 関数は、複雑なパラメータ構造も処理できます。たとえば、多次元配列、オブジェクト、特殊文字を処理できます。
多次元配列
$params 配列が多次元配列の場合、http_build_query() 関数はそれを URL 仕様に準拠する文字列に自動的に変換します。
<?php $params = [ 'name' => 'John', 'age' => 25, 'city' => 'New York', 'hobbies' => [ 'reading', 'swimming', 'traveling' ] ]; $queryString = http_build_query($params); echo $queryString; ?>
出力結果は次のとおりです:
name=John&age=25&city=New+York&hobbies%5B0%5D=reading&hobbies%5B1%5D=swimming&hobbies%5B2%5D=traveling
上の例では、hobby という名前の要素を $params 配列に追加しました。その値は 3 つの趣味を含む配列です。 http_build_query() 関数を使用して $params 配列を URL クエリ文字列に変換すると、趣味パラメータが Hobby=reading&hobbies[1]=swimming&hobbies[2]=traveling の形式に変換されることがわかります。
Object
同様に、http_build_query() 関数もオブジェクトを処理できます。この関数は、オブジェクトのパブリック プロパティのキーと値のペアを URL クエリ文字列に自動的に変換します。
<?php class Person { public $name = 'John'; public $age = 25; public $city = 'New York'; } $person = new Person(); $queryString = http_build_query($person); echo $queryString; ?>
出力結果は次のとおりです:
name=John&age=25&city=New+York
上記の例では、 Person という名前のクラスを定義し、クラス内に 3 つのパブリック プロパティ ( name 、 age 、 city ) を定義します。次に、Person オブジェクトを作成し、それを http_build_query() 関数に渡し、オブジェクトのプロパティを URL クエリ文字列に変換しました。
特殊文字
パラメータに特殊文字が含まれている場合、http_build_query() 関数は URL 仕様に準拠するためにそれらを自動的にエスケープします。
<?php $params = [ 'name' => 'John Doe', 'age' => 25, 'city' => 'New York' ]; $queryString = http_build_query($params); echo $queryString; ?>
出力は次のとおりです:
name=John+Doe&age=25&city=New+York
上の例では、name パラメータにスペースが含まれています。 http_build_query() 関数を使用して $params 配列を URL クエリ文字列に変換する場合、この関数はスペースをプラス記号に変換します。
概要
http_build_query() 関数は、PHP の非常に実用的な関数であり、開発者が連想配列またはオブジェクトを URL クエリ文字列に迅速かつ簡単に変換するのに役立ちます。単純なパラメータ リストであっても、複雑な多次元配列やオブジェクトであっても、 http_build_query() 関数はそれを処理できます。 http_build_query() 関数を適切に使用することで、URL パラメーターをより効率的に処理し、コードの可読性と保守性を向上させることができます。
以上がPHP 関数の紹介 - http_build_query()`: URL クエリ文字列を構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。