如何检查一个数组的值是否是另一个数组的关键?

时间:2012-12-19 12:34:42

标签: php arrays multidimensional-array

  

可能重复:
  PHP values from array where key is in another array

正如问题所述。

我想知道的事情:

$xyz = array (
    [0] => 'orange',
    [1] => 'apple'
);

$pqr = array (
    ['orange'] => 'this data'
);

首先,如何检查一个数组的值是否是另一个数组的键并通过链接获取数据? 如果我们使用PHP 5.4或者可能使用php 5.5增强功能来获取此数组的解决方案,我会很好。

任何帮助,赞赏。

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

$foo = array('orange', 'apple');    
$bar = array('orange' => 'data');

$result = array_filter($foo, function($value) use ($bar) { return isset($bar[$value]); });

foreach($result as $foobar) {
    echo (isset($bar[$foobar])) ? $bar[$foobar] : NULL; // be on the safe side
    echo $bar[$foobar]; // should be enough
}

答案 1 :(得分:0)

我认为在循环所有内容旁边都有一种默认方式:

foreach($x in $xyz){
  if(isset($pqe[$x])){ echo $pqe[$x]; }
}