[PHP] URLパラメータ(クエリ)の分解と構築方法

フォームやリンクでGETやPOSTを使っていると、受け取ったデータをURL形式にしたり、配列データにしたり、必要に応じて変換させる必要が出てきます。
PHPにはGET形式の ?id=5&user=2 を配列に変換したり、配列からGET形式のURLを作成したりする便利な関数が用意されています。
配列に変換
元となる文字列
1 |
$url='id=1&user=3&page=5'; |
配列に変換するにはparse_strを使います。
書式
parse_str ($url,$output);
第一引数に元の文字列(パラメタ)を設定。第二引数には配列が格納される変数を用意します。
1 2 3 4 5 6 7 |
pr($output); Array ( [id] => 1 [user] => 3 [page] => 5 ) |
文字列に変換
今度は配列に代入したパラメタを元のURL形式に戻してみます。
書式
$str=http_build_query($output);
こちらは http_build_queryメソッドに配列の入った変数を指定するだけです。
1 2 |
pr($str); id=1&user=3&page=5 |
関連記事
- [CakePHP] 独自SQLのAS句で新しいフィールドを作りCakePHPの形式でデータを出力する方法
- [CakePHP] GETでパラメタ・コントローラ名・アクション名を取得
- [CakePHP] 独自のSQL文を利用する方法
- [CakePHP] 複数レコードを一括保存するsaveAllの使い方
- [PHP] 現在アクセスしているページのURL・パラメタの取得方法