2011-05-14 38 views
0

这可能是一个简单的问题的值是钥匙......迭代通过一个数组,寻找匹配另一个阵列

我有一个名为$形式多维数组。我需要迭代数组,查找与另一个数组值相匹配的特定键,然后在这些键中执行一个操作。

$a = 'theme_select'; 
$b = 'timezone'; 
$c = 'contact'; 
$d = 'something_else'; 

$arr = array(); 
$arr = ($a, $b, $c, $d); 

foreach($form as $form_key=>$form_val){ 

    foreach($arr as $include) { 

     if ($form_key == $include) { 

      //some action 

     } 
    } 
} 

这是实现此目的的最佳方法吗?我问的原因是$ form可能很大,我担心页面加载会变得很慢。

+2

你可能会感兴趣的。['in_array()'PHP函数(http://php.net/manual/en/function.in-array .PHP)。 – 2011-05-14 17:23:02

回答

4

看一看在array_intersect_key()功能

$a = 'theme_select'; 
$b = 'timezone'; 
$c = 'contact'; 
$d = 'something_else'; 

$arr = array_fill_keys(array($a, $b, $c, $d),1); 

$matchingKeys = array_intersect_keys($form,$arr); 
foreach($matchingKeys as $key => $value) { 
    ... 
} 
+1

谢谢。这就是我一直在寻找的! – Tivie 2011-05-14 17:36:03

相关问题