勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPで配列をGETパラメータ化、GETパラメータを配列化する方法

   2024/05/22  PHP

PHPで配列を「name=hoge&id=1&pass=fdkn」のようにGETパラメータ化したい。また、逆にGETパラメータを配列化したい。以下に対応方法をメモ。

 

対応方法

配列をGETパラメータ化

$hoge = array('name'=>'hoge', 'id' => 1, 'pass' => 'fdkn');
echo http_build_query($hoge, '&'); //name=hoge&id=1&pass=fdkn

GETパラメータを配列化

$hoge = 'name=hoge&id=1&pass=fdkn';
parse_str($hoge, $query);
var_dump($query); //array(3) { ["name"]=> string(4) "hoge" ["id"]=> string(1) "1" ["pass"]=> string(4) "fdkn" }

 

リファレンス

http_build_query

https://www.php.net/manual/ja/function.http-build-query.php

parse_str

https://www.php.net/manual/ja/function.parse-str

 

使いどころ

file_get_contentsとかでGETパラメータを渡したい場合はこの方法をとった方が見やすくて、パラメータも書き換えやすい。

 - PHP

  関連記事

PHPでランダムな値を取得したいケース諸々の対応方法
PHPでランダムな値を取得したいケース諸々の対応方法

テストデータを作成する際にランダムな値を入れたかったけど、色々ケースがあったので ...

PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法
PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法

他社のAPI等のレスポンスで日時部分が「YYYY-MM-DDTHH:II:SSZ ...

PHPのintval
PHPのintval

intvalという見たこと無い関数があったのでメモ。 ■リファレンス http: ...

PHPで「Unable to allocate~」とエラー
PHPで「Unable to allocate~」とエラー

PHPで「Unable to allocate memory for pool」 ...

CodeIgniterのバージョンの調べ方
CodeIgniterのバージョンの調べ方

CodeIgniterを使っているシステムがあったが、どうも記憶しているディレク ...