2013-10-11 40 views
-4

我有數組:比較值,並獲得主鍵/索引

 $array = array(
      3 => array(
       'first' => 'aaa', 
       'second' => '111', 
       'third' => '!!!' 
      ), 
      7 => array(
       'first' => 'bbb', 
       'second' => '222', 
       'third' => '###' 
      ), 
      9 => array(
       'first' => 'ccc', 
       'second' => '333', 
       'third' => '^^^' 
      ), 

     ); 

和三個變量:

$first = 'bbb'; 
$second = '222'; 
$third = '###'; 

,也可以是數組:

$data = array(
    'first' => 'bbb', 
    'second' => '222', 
    'third' => '###' 
); 

我想獲得這些值從$ array中鍵入。在這個例子中應該返回7.

我該如何比較這個數組與$ first,$ second和$ third或數組$ data,並從$ array中獲取這些值的key?

+0

循環,比較每個值,如果它們全部匹配,則使用當前鍵。這很簡單。請嘗試一下。 – deceze

回答

-1

試試這個:

 $array = array(
     3 => array(
      'first' => 'aaa', 
      'second' => '111', 
      'third' => '!!!' 
     ), 
     7 => array(
      'first' => 'bbb', 
      'second' => '222', 
      'third' => '###' 
     ), 
     9 => array(
      'first' => 'ccc', 
      'second' => '333', 
      'third' => '^^^' 
     ), 
    ); 

    $data = array(
     'first' => 'bbb', 
     'second' => '222', 
     'third' => '###' 
    ); 

    foreach ($array as $key => $val1) { 
     $arr_diff = array_diff($val1, $data); 

     if(empty($arr_diff)) 
     { 
      echo $key; 
     } 
    } 

foreach循環將你正確的答案。

+1

我不知道爲什麼一些人贊成這個答案??? 這個答案有什麼問題?請簡單解釋一下。 –