2014-01-28 2 views
1

У меня есть многомерный массив следующим образом,Как сравнить многомерный массив с одним элементом массива?

$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 или нет. Как решить эту проблему

+1

это выглядит как php, почему с меткой javascript? –

ответ

1

Просто используйте in_array функцию

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

Вы можете проверить с помощью in_array() в PHP

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

    } 

Working Demo

+0

вы просто проверяете '$ array1 ['id']' –

+1

Если я думаю логически, тогда OP сравнивается с '$ res ['id'] [1]', который является id, поэтому я не рассматриваю целый массив и просто проверьте с помощью 'id'. – Roopendra

+0

Вы правы, но вопрос не упоминается, сравнивая с просто 'id', –

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()

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'; 
Смежные вопросы