PHPで配列をGETパラメータ化、GETパラメータを配列化する方法
2024/05/22
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でファイルを添付してメールを送信する方法(PHPMailer)
PHPでファイルを添付の上、メールを送信したかった。方法を探したところphpma ...
-
-
PHPで「Warning: date(): It is not safe to…」エラーの対応方法
PHPでdate関数を使った際に「Warning: date(): It is ...
-
-
PHPの構文チェック
JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...
-
-
PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法
先日メモしたdBug.phpをPHP8系の環境で試すと動作しなかった。ただエラー ...
-
-
PHPにて「一億二千万」等の漢数字と通常の数字(アラビア数字)の相互変換を行う方法
PHPにて漢数字と普通の数字の相互変換を行いたい。例えば「123465789」⇔ ...