如何将多维数组与一个数组元素进行比较?

时间:2014-01-28 05:22:38

标签: php arrays multidimensional-array

我有一个多维数组,如下所示,

$array1 = Array(
            'id'       => Array(1 => 19, 2 => 47),
            'name'     => Array(1 => 'Alex Paul', 21 => 'sdfs'),
            'category' => Array(1 => 1, 21 => 2)
             );

我也有一个数组元素

     $res['id'][1]= 47;

我想检查 $res['id'][1]是否存在于$array1中。 如何解决这个问题

4 个答案:

答案 0 :(得分:1)

您可以使用php中的in_array()进行检查

  if(in_array($res['id'][1],$array1['id'])) {
      echo $res['id'][1] . ' exist in array';
  } else {
     echo 'not exist';

  }

Working Demo

答案 1 :(得分:1)

只需使用in_array功能

即可
if(in_array($res['id'][1], $array1['id']))
    echo 'Here';

答案 2 :(得分:0)

这会检查整个$res['id'][1]中是否存在$array1

$present = false;
foreach($array1 as $val){
    if(in_array($res['id'][1],$val)) $present = true;
}
echo $present ? "Yes" : "No";

如果您只想查看$array1['id'][1],正如其他答案所说,

就这么简单:

echo in_array($res['id'][1],$array1['id'][1]) ? "Yes" : "No" ;

in_array()

的文档

答案 3 :(得分:0)

尝试,

   $array1=Array ( 'id' => Array (  1 => 19, 2 => 47 ),
           'name' => Array ( 1 => 'Alex Paul', 21 => 'sdfs' ),
           'category' => Array ( 1 => 1, 21 => 2 ));

   $res['id'][1]= 47;

   if(in_array($res['id'][1], $array1['id']))
     echo 'found';