勉強したことのメモ

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バージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)

PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ...

SortableJSを使ってデータの並べ替え&保存

あるシステムを拝見した際にtableタグ内に並んでいる項目をドラッグ&ド ...

phpQueryを利用したjQueryライクなスクレイピング方法

phpQueryというライブラリを使用することでjQueryのセレクタ指定のよう ...

Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...

PHPでCSVファイルを出力する際に「①」や「㈱」等の環境依存文字が文字化けする対応方法

過去記事の方法を用いてPHPでCSVファイルを出力すると所々「?」という形に文字 ...