有效地检查数组中的匹配值?

时间:2015-09-10 04:14:04

标签: php arrays

我有一个像这样的数组:

$pref_array = ('android/cbnj','android/fgngh','android/vfjnf','apple/jns','apple/dvjnvd','pictues/djnf','pictures/djnf','pictures/hjf','pictures/cvjbv');

其中android/的元素数量可以是0到N之间的任何值,其中N是数组的大小。现在,我必须找到任何这些元素中是否存在类似'android / or 'buffalo/等的值。如果它存在我做一些东西,否则我检查其他值。这是我的代码:

$cCount = count($pref_array);
for($j=1;$j<$cCount;$j++) {
  $code = $pref_array[$j];
  if(strpos($code, 'android/') !== false) { 
    // Do Android Related Stuff just once.
    $j = $cCount;  
  } 
}
for($j=1;$j<$cCount;$j++) {
  $code = $pref_array[$j];
  if(strpos($code, 'buffalo/') !== false) { 
    // Do Buffalo Related Stuff just once.
    $j = $cCount;  
  } 
}
for($j=1;$j<$cCount;$j++) {
  $code = $pref_array[$j];
  if(strpos($code, 'apple/') !== false) { 
    // Do Apple Related Stuff just once.
    $j = $cCount;  
  } 
}

等等。它有效,但我发现它不够有效。每次我从头开始迭代数组。有什么办法可以一次遍历数组吗?

我设置$j = $cCount以摆脱循环。

0 个答案:

没有答案