迭代通过一个数组,寻找匹配另一个阵列
问题描述:
这可能是一个简单的问题的值是钥匙......迭代通过一个数组,寻找匹配另一个阵列
我有一个名为$形式多维数组。我需要迭代数组,查找与另一个数组值相匹配的特定键,然后在这些键中执行一个操作。
$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可能很大,我担心页面加载会变得很慢。
答
看一看在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
你可能会感兴趣的。['in_array()'PHP函数(http://php.net/manual/en/function.in-array .PHP)。 – 2011-05-14 17:23:02