【问题标题】:How to display an array $key with this pattern promote-1 for which 1 can be any whole number?如何使用此模式promote-1显示数组$key,其中1可以是任何整数?
【发布时间】:2014-11-03 06:07:56
【问题描述】:
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 等的模式。第二个选项“case 'promote-'.count++”是我需要确定的模式。任何 'promote-1' 到 'promote-100' 都将属于该选项

【问题讨论】:

  • count 不是合法变量,您没有正确连接
  • 感谢@SterlingArcher,这只是它的外观示例。当我回显 $key 时,我需要将这个 $key 放入具有此值的开关中 'promote-1'、'promote-2' 等等。我需要为我的开关盒检测这种模式。任何帮助将不胜感激。
  • 感谢@Ohgodwhy 指出这一点。现在就试试。
  • 谢谢@Ohgodwhy,它现在可以工作了,谢谢你的链接。

标签: php


【解决方案1】:

开关盒的使用受到很大限制。这是适合您的有效解决方案。

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);

【讨论】:

    【解决方案2】:

    试试regex

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

    '/promote-\d/'this 将检查模式 - promote-&lt;any digit&gt;

    【讨论】:

    • 你是从我大约一小时前在评论中链接的副本中直接得到的吗?
    • 几天前用过那个解决方案...有什么问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多