从数组中获取匹配键

时间:2012-07-31 01:52:55

标签: php arrays

我想在数组中找到一个特定的键,但它是增量计数器的后缀。

Array
(
  [nombre] => Carlos
  [apellido] => Delfino
  [sum1] => Array
            (
              [0] => Apple
              [1] => Banana
              [2] => Liquor
            )
  [sum3] => Array
            (
              [0] => Grapes
            )
)

我打算将sum键(sum1& sum3)放在一个新数组上。一个foreach在我的脑海中,但是我怀疑我是否应该使用正则表达式或PHP字符串函数。

foreach($arr as $k => $v)
{
  //I'm lost here on how to match keys with at least `sum` word on it
}

1 个答案:

答案 0 :(得分:1)

这将检查单词是否以sum开头。如果将有其他键与sum并且在它们之后具有非整数值,则需要正则表达式。

foreach($arr as $k => $v)
{
  if (strpos($k, 'sum') === 0) {
     // key begins with 'sum'
  }
}

Regexp方式:

foreach($arr as $k => $v)
{
  if (preg_match('/^sum[0-9]+$/', $k)) {
     // key begins with 'sum' and is followed by an integer
  }
}