2014-11-03 29 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

相关问题