勉強したことのメモ

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でCookie保存時にSameSite属性を設定する方法
PHPでCookie保存時にSameSite属性を設定する方法

あるシステムのセキュリティ対策としてCookie保存時にSameSite属性をS ...

PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法
PHPでCSVを簡単に取り扱える「LeagueCSV(thephpleague / csv)」の利用方法

PHPでCSVファイルの書き込みや読み込みを行う際、バニラPHPで対応していたが ...

VONAGEとPHPでショートメッセージ(SMS)を送信する方法
VONAGEとPHPでショートメッセージ(SMS)を送信する方法

PHPからショートメッセージ(SMS)を送信してみたかった。また、SMS送信は基 ...

Smartyでテンプレートファイル(tplファイル)を編集しても反映されない
Smartyでテンプレートファイル(tplファイル)を編集しても反映されない

Smartyで作成されたシステムがあり、一部修正でtplファイルを編集したものの ...

PHPにて指定した期間内の合計日数を出力する方法
PHPにて指定した期間内の合計日数を出力する方法

PHPにて開始日と終了日をユーザが入力すると、その期間内の合計日数を出力させたい ...