0

我有一个数组,根据我的输入,将为特定节点返回不同的名称。例如下面我的关键节点的名称是,n1:ModemProduct1207但它也可能是n1:ModemProduct1308

我想知道有没有办法有这样的东西:

$array ['n1:ModemProducts'] ['n1:ModemProduct'. (regex here like"n1:ModemProduct[\d0-9]{4}+")];
$modemProducts = $array ['n1:ModemProducts'] ['n1:ModemProduct1207'];

我尝试了几个选项,但无法让它工作。

4

2 回答 2

2

一维数组的小函数:

function filterProducts($array, $pattern){
  $result = array();
  foreach($array as $key => $value){
    if (preg_match($pattern, $key)){
      $result[$key] = $value;
    }
  }
  return $result;
}

用法:

$results = filterProducts($array['n1:ModemProducts'], '/n1:ModemProduct[\d]{4}/');
于 2013-10-01T19:10:23.700 回答
0

$array = array('Armenia', 'America', 'Algeria', 'India', 'Brazil', 'Croatia', 'Denmark');

$fl_array = preg_grep('/^A.*/', $array);

print_r($fl_array);

供参考,你可以看看。http://ask.amoeba.co.in/php-search-in-an-array-for-values-matching-a-pattern-regex-wildcard/

我正在尝试解决您的问题

希望这个帮助

谢谢阿南德

于 2013-10-01T19:00:33.273 回答