目次一覧
状態:-
閲覧数:2,405
投稿日:2019-02-05
更新日:2019-02-05
http_build_queryとは? / 構文 /パラメータ
返り値 / コード例1。第1引数のみ指定 / コード例2。第3引数まで指定
返り値 / コード例1。第1引数のみ指定 / コード例2。第3引数まで指定
http_build_queryとは? / 構文 /パラメータ
http_build_queryとは?
URL エンコードされたクエリ文字列を生成する関数
・与えられた連想配列 (もしくは添字配列) から URL エンコードされたクエリ文字列を生成する
※各要素には自動的にURLエンコードがかけられる
構文
http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] ) : string
パラメータ
第1引数
$query_data
・プロパティを含む配列もしくはオブジェクト
・配列の場合の形式は、 単純な一次元構造か あるいは配列の配列 (言い換えると、他の配列を含む配列) となる
・オブジェクトの場合、 public プロパティだけが結果に含められる
第2引数
$numeric_prefix
・情報源となる配列 (query_data で指定した配列) に数値インデックスが使われていて、しかも numeric_prefix が指定された場合、数値のインデックスを持つ要素に関してのみインデックスの前に numeric_prefix で指定した値が付加される
※後で PHP や他の CGI アプリケーションによってデータがデコードされる際、 正当な変数名になるよう考慮したもの
※省略可
第3引数
$arg_separator
・区分のためのセパレータ
※このパラメータを指定していない場合、arg_separator.output が区分のためのセパレータとして使用される。初期値は&
※省略可
第4引数
$enc_type = PHP_QUERY_RFC1738
・デフォルトは PHP_QUERY_RFC1738
・PHP_QUERY_RFC1738 の場合は RFC 1738 に従ってエンコードされ、メディアタイプは application/x-www-form-urlencoded となる。つまり、スペースはプラス記号 (+) にエンコードされる
・PHP_QUERY_RFC3986 の場合は RFC 3986 に従ってエンコードされ、 スペースはパーセント形式 (%20) となる
※省略可
返り値 / コード例1。第1引数のみ指定 / コード例2。第3引数まで指定
返り値
URL エンコードされた文字列を返す
コード例1。第1引数のみ指定
$data = array(
'capital' => 'tokyo',
'name' => '山田太郎',
'age' => '27',
'number' => 1
);
echo http_build_query($data);
capital=tokyo&name=%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E&age=27&number=1
コード例2。第3引数まで指定
第3引数
・区分のためのセパレータとして「'&'」を指定
$data = array(
'capital' => 'tokyo',
'name' => '山田太郎',
'age' => '27',
'number' => 1
);
echo http_build_query($data, '', '&');
capital=tokyo&name=%E5%B1%B1%E7%94%B0%E5%A4%AA%E9%83%8E&age=27&number=1