如何在数组索引中正确使用preg_match?

时间:2014-11-05 09:19:01

标签: php regex

代码:

$array[ ( preg_match( '/pdf-\d/', $key ) ? true : false ) + '[' + ( preg_match( '/pdf-total-\d/', $key ) ? true : false ) + ']' ]
输出应该是:

$array['pdf-1[pdf-total-1]']

1 个答案:

答案 0 :(得分:2)

实际上,您使用的是三元运算符:

preg_match( '/pdf-\d/', $key ) ? true : false

这会返回truefalse但不会pdf-1也不会[pdf-total-1]

也许你想要更多这样的东西:

$array[ 
        ( preg_match( '/pdf-\d/', $key ) ? $key: false ) . 
        '[' . ( preg_match( '/pdf-total-\d/', $key ) ? $key: false ) . ']' 
      ]

但在任何情况下都没有多大意义,因为$key匹配第一个模式匹配第二个模式