2012-07-31 78 views
0

我有一个特定的数组键,我想得到,但它是后缀增量计数器。从数组中获取匹配键

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

我打算把sum键(SUM1 & SUM3)的新阵列上。 A foreach在我的脑海中,但我怀疑我应该使用正则表达式还是PHP字符串函数。

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

回答

1

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

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

正则表达式的方法:

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