0

$_GETからキーを取得できるかどうか尋ねるだけです...

次のようなswitchステートメントを実行したい

switch($_GET key)  //here I don't know
{
   case "login": .... break;   //if "login" key exists in $_GET then show page.
   ....
}

ばか質問でごめんなさい

4

2 に答える 2

6

単純なforループで配列とキーを繰り返すことができます。 $_GET連想配列にすぎません(文字列を配列インデックスとして使用します)。

phpを使用するforeach($_GET as $key => $value)と、の対応する配列キー$keyとの配列値の配列の各エントリが分割され$valueます。

foreach($_GET as $key => $value)
     {
     if($key === 'mykey')
         {
         // Do things with this key
         }
     if($key === 'login')
         {
         // Do login stuff etc...
         if($value === 'adminarea')
              {
              // login to adminarea
              }
         if($value === 'forum')
              {
              // Login to forum
              }
         }
     }

を使用することもできますarray_key_exists。これは、特定のものが存在するかどうかをチェックし、存在する場合はそれを使って何かを行うことができます。

if(array_key_exists('myKey', $_GET) && $value = $_GET['myKey']) {
    // do stuff with $value
}

しかし、それは少し面倒です。個人的には、この関数を単純な配列に使用することを好みます。

function array_get($array, $key, $default = null) 
{
    return (is_array($array) && array_key_exists($key, $array) ? $array[$key] : $default);
}

その後、行うことができます

if($value = array_get($_GET, 'myKey')) {
    // do stuff with mykey
}

これははるかにクリーンで説明的です。デフォルトとして常にnullを返しますが、独自のデフォルト値を設定することもできます。

 $music_intensity = array_get($_GET, 'intensity', 11);

値が定義されていない場合は、値として返さ11れます。$music_intensity$_GET

于 2012-08-11T12:24:27.230 に答える
6

array_keys();渡されたパラメータからキーの連想配列を返します。

$arrKeys = array_keys($_GET);//$arrKeys will now contain all keys of $_GET (as an array)

見てみましょう:array_keys()

キーをすでに知っていて、キーの特定の要素の値が必要な場合は、次のようにします。

echo $_GET['myKey'];//which will print the value of the 'myKey' element
于 2012-08-11T12:18:41.837 に答える