从数组中获取匹配密钥


Get match keys from an array

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

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

我计划将sum密钥(sum1&sum3)放在一个新的数组上。foreach在我的脑海中,但我怀疑我是否应该使用regex或PHP字符串函数。

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

这将检查单词是否以sum开头。如果有其他键带有sum并且后面有非整数值,则需要regexp。

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
  }
}