So-net無料ブログ作成
検索選択

$_GET パラメータ有無判定 [┣ PHPめも]

phpを学習中…というか、イタズラ中。
仕事でも使っているけど…いや、いくつか作っちゃってるけど…でも、かなりまだ怪しい。
…とっても怪しい。(ーー;)

調べながらな、今日この頃です。
突っ込みお待ちしてます。(^^;)

本日のテーマ。
URLにパラメータが追加されているかどうかを判定したい。
(1) test.php?key=test
(2) test.php

(1)の場合には、定義済グローバル変数 $_GET に、キーと値がセットされる。
$_GET['key'] で値を取得できる。

(1)の場合に、test.phpの中で、
echo $_GET['key']; としたら、この出力は”test”となる。

$_GETが配列、URLの?の後に付けたキー値で配列を参照できる。

で、(2)の様に、パラメータ指定が無い場合。
echo $_GET['key']; としたら、この出力は空(null)…?。なのか?(^^;)

でも、'key'という、配列キー自体に意味がないよね、この場合。


なので、(1)のよに、パラメータが無い場合を想定して、
$_GET['key']の有効性を確認したい。

要は、$_GET[]に、'key'という連想キーでセット済かどうかだから、array_key_existsで参照前にキーの有無を判定する。

array_key_exists
(PHP 4 >= 4.0.7, PHP 5)
array_key_exists — 指定したキーまたは添字が配列にあるかどうかを調べる

説明
bool array_key_exists ( mixed $key, array $search )
指定した key が配列に設定されている場合、 array_key_exists() は TRUE を返します。
key は配列添字として使用できる全ての値を使用可能です。 array_key_exists() はオブジェクトに対しても動作します。

例えば、keyパラメータに値がある時は、その値を出力し、
無い場合は、パラメータ無しを通知するとすると。

if( array_key_exists( 'key',$_GET ) ) {
    //パラメータ有り
   echo $_GET['key'];
}
else{
    //パラメータ無し
   echo "keyパラメータが指定されてません";
}

ちなみに、上記コードだと、URLが、
(3) test.php?key
という場合には、パラメータは「有り」判定となる。
しかし、$_GET['key']の実体は、これも空(null)なのかな?

うーむ。うむ、うむ。
とりうえず、今考えている処理は、できるような気がしてきた。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。

関連リンク

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。