2012-05-26 217 views
1

第一陣列是匹配兩個陣列

$first = Array(0=>orange; 1=>apple; 2=>grapes) 

所述第二陣列是複雜

Array 
(
    [0] => Array 
     (
      [fruits] => Array 
       (
        [0] => Array 
         (
          [0] =>orange 
          [1] => apple 
         ) 

        [1] => grapes 
       ) 

      [price] => 69.0 ) 

    [1] => Array 
     (
      [fruits] => Array 
       (
        [0] =>orange 
        [1] => grape 
       ) 

      [price] => 40 
     ) 

} 

第二陣列被從先前的陣列搜索生成。值之前在循環中。匹配數組是否可行?如果是這樣的話,請。提出了幾個選擇,但沒有結果。

+1

我不知道爲什麼你'java' –

+0

歉意標記這一新的:( – user1419210

+0

它的確定標籤都這麼成員可以找到問題,他們瞭解並能有希望回答這些問題。因此,使用適當的標籤將 –

回答

0
function findMatches($query, $arrayOfArrays) { 

    $ret = array(); 
    foreach($arrayOfArrays as $array) { 
    if(matches($array, $query)) { 
     $ret[] = $array; 
    } 
    } 
    return $ret; 
} 

function matches($array, $query) { 
    foreach($query as $key => $value) { 
    if(!isset($array[$key]) || $array[$key] != $value) { 
     return false; 
    } 
    } 
    return true; 
} 

$isMatching = findMatches($needleArray, $hayStackArray);