2014-11-03 26 views
0
function name($key, $value) { 
    switch($key) { 
     case 'name': 
      break; 
     // this is where I would determine the key with this pattern 1-100 
     case 'promote-'.count++ : 
      break; 
    } 

} 

當我呼應$key樣本輸出將是contact_numbercard_name和我想圖案以確定promote-1promote-2等。第二個選項「案例」促進 - '。count ++'是我需要確定的模式。任何「促進-1」到「促進-100」將落在該選項

+1

'count'是不是合法的變量,你不串聯[正則表達式的正確 – 2014-11-03 06:09:46

+0

可能重複在switch語句](http://stackoverflow.com/questions/4043741/regexp-in-switch-statement) – Ohgodwhy 2014-11-03 06:15:27

+0

謝謝@SterlingArcher,這只是一個例子,它會是什麼樣子。當我回顯$ key時,我需要用這個值'promotion-1','promote-2'等來放置這個$ key。我需要爲我的開關盒檢測這種模式。任何幫助將不勝感激。 – heero 2014-11-03 06:18:19

回答

0

使用開關情況下受到很大限制。這是您的工作解決方案。

function name($key, $value) { 
    if(strpos($key,'-') > 0){ 
     $key_arry = explode('-' , $key); 
     if($key_arry[0] == 'promote' && ($key_arry[1] > 0 || $key_arry[1] <= 100)){ 
      echo 'Patern is promote-1, promote-2......promote-100'; 
     }else{ 
      echo 'anything else'; 
     } 
    } 

} 
name('promote-2' , 1); 
0

嘗試regex

case (preg_match('/promote-\d/', $key) ? true : false) : 
     // do stuff for people whose name is John, Johnny, ... 
     break; 

'/promote-\d/'這將檢查模式 - promote-<any digit>

+0

你從一個小時前評論中鏈接的重複中直接得到了這個結果嗎? – Ohgodwhy 2014-11-03 07:14:53

+0

前幾天使用了這個解決方案...有什麼不對嗎? – 2014-11-03 07:17:01

相關問題