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
        )

}

第二个数组是从先前的数组搜索中生成的。values 之前处于循环中。匹配数组是否可行。如果是这样,请想想。尝试了几种选择,但没有结果。

4

1 回答 1

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);
于 2012-05-26T16:18:31.683 回答