2011-07-23 56 views
1

PHP循環是否可以基於特定的變量名環路的$_REQUEST例如:

if (!$POST) 
{ 
do something 
} 

else { 

if ($_REQUEST['name1']) 
{ 
do something 
} 
elseif ($_REQUEST['name2']) 
{ 
do something 
} 

} 
+0

我真的不知道你的意思 –

+1

是的,你可以循環並檢查'$ _REQUEST'是否包含與某些名稱模式匹配的鍵,但這可能不是你做任何事情的最佳方式。爲什麼你沒有你的表單/ URL發送一個名稱數組而不是'name1','name2'等等? –

+0

我將試圖澄清 - 對於if和else if循環,是否有可能根據URL是:name1還是name2執行循環? – Andy

回答

5

真的,你可以得到你想要的那麼複雜:

foreach($_REQUEST as $key => $val) 
{ 
    switch($key) 
    { 
     case 'name1': 
      if(is_array($val)) 
      { 
       foreach($val as $v) 
       { 
        // do something for each element in the $_REQUEST['name1'] array 
       } 
      } 
      else 
      { 
       // do something for $_REQUEST['name1'] which is not an array 
      } 
      break; 

     case 'name2': 
      if(is_array($val)) 
      { 
       foreach($val as $v) 
       { 
        // do something for each element in the $_REQUEST['name2'] array 
       } 
      } 
      else 
      { 
       // do something for $_REQUEST['name2'] which is not an array 
      } 
      break; 
    } 
} 
+0

+1我*認爲*這就是要求.. – Ben

+0

神奇,謝謝! – Andy

0

是,在你的榜樣的「有所作爲」部分可以是循環或任何其他你想要的代碼。

0

替換「做什麼」您要爲每個請求類型的代碼。