URLのクエリパラメータ(?で設定されるアレ)を?か&か判定して付け足す

URLのクエリパラメータをいい感じに足したかったです。

というわけで先にコード例を。

$url .= parse_url($url, PHP_URL_QUERY) // 既にクエリ文字列が設定されているかどうか、クエリ文字列だけを抜き出して判定に使います。
  ? '&page=1' // 設定されていれば&で連結し
  : '?page=1'; // そうでなければ?で連結します。

page=1 を付け足したい場合に、既にURLにクエリパラメータがあれば&page=1を足すことになりますし、他になければ?page=1を足すことになります。

https://2017.l2tp.org/?s=1 のときには https://2017.l2tp.org/?s=1&page=1に、
https://2017.l2tp.org/ のときには https://2017.l2tp.org/?page=1になります。

検索したところStackOverFlowの記事がありました。

Advanced Method、というのもありましたけど、こっちでも十分見やすいので良いかな、と思いました。

ちなみにWordPressだと add_query_arg() を使ってます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする