PHPでURLのqueryの配列を作りたい時にはexplode関数を使えば良い感じになる

タイトルの通りなのですが、phpのURLのqueryの配列を作りたい場合は、explode関数を使えば良い感じにできます。

PHP: explode - Manual

explode関数は、第二引数で指定した文字列を、第一引数で指定した文字列で区切ったものを配列として返す関数。実際に、以下の例を見ると分かりやすい。

<?php
$query = "qa/question_detail/q12160188612";

$array = explode("/", $query);

var_dump($array);
?>

結果は、以下の通り。第一引数に指定した/毎に第二引数が分割されて、戻り値として配列が返されているのが分かる。

array(3) {
  [0]=>
  string(2) "qa"
  [1]=>
  string(15) "question_detail"
  [2]=>
  string(12) "q12160188612"
}

explodeは実践ではどのように使えば良いか?

php-crud-api/Request.php at master · mevdschee/php-crud-api」と言う割とスターが多いOSSがあるが、このソースコード内には以下の様に使われていた。

    private function parsePath(String $path = null)
    {
        if (!$path) {
            if (isset($_SERVER['PATH_INFO'])) {
                $path = $_SERVER['PATH_INFO'];
            } else {
                $path = '/';
            }
        }
        $this->path = $path;
        $this->pathSegments = explode('/', $path);
    }

$_SERVER['PATH_INFO']でリクエストとして送られてきたpathを$path変数に格納して、その後にexplode('/', $path)と言う感じで使っている。