多くの場合、URL パラメータを介してスクリプトに配列を渡す必要がある場合があります。この問題にはさまざまなアプローチがあり、それぞれに長所と短所があります。
単純なアプローチ
何の処理もせずに配列を URL パラメータとして渡そうとすると、次のような問題が発生する可能性があります。めちゃくちゃな結果に。値を 1 つの文字列に連結すると、扱いにくいパラメータが生成されます。
$url = 'http://www.example.com?aParam[]=value1&aParam[]=value2&aParam[]=value3';
http_build_query() 関数
幸いなことに、PHP には、http_build_query( ) 関数。入力として連想配列を受け取り、URL エンコードされたクエリ文字列を返します。
$data = array( 1, 4, 'a' => 'b', 'c' => 'd' ); $query = http_build_query(array('aParam' => $data));
これにより、次のクエリ文字列が生成されます。
aParam%5B0%5D=1&aParam%5B1%5D=4&aParam%5Ba%5D=b&aParam%5Bc%5D=d
関数が必要なクエリをどのように自動的に処理するかに注目してください。エスケープ ([ => [ および ] => ])。これにより、クエリ文字列が正しく形成されることが保証されます。
以上がPHP で配列を URL パラメータとして効率的に渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。