0

基本的に実行の反対である、使用できる関数は何ですか?

if(strpos($array['some_key'], $value)!==false) {
    that means there's a match and confinue
}

$value私は基本的に、2 つの配列をループして、 in に一致しないものを取得したいと考えています$array

    $array = 

      Array
            (
            [0] => GPPZ20
            [1] => GPPZ45
            [2] => GPPZ75
            [3] => GPPZH20
            [4] => GPPZH45
       )


     $codes = 

        Array
    (
     [0] => Array
      (
        [count] => 1
        [code] => GPPZH20SWYE4A2VZU
        [amount] => 20
    )

    )

      Array
     (
       [0] => Array
      (
        [count] => 1
        [code] => GPPZH2077434178J6
        [amount] => 20
    )

      )

    Array
(
   [0] => Array
    (
        [count] => 17
        [code] => PMMC4
        [amount] => 25
    )

)

Array
(
[0] => Array
    (
        [count] => 1
        [code] => GPPZH2052910M8V62
        [amount] => 20
    )

)

Array
(
[0] => Array
    (
        [count] => 1
        [code] => GPPZH45B3116LD1VW
        [amount] => 45
    )

 )

だから私がやりたいのは、$codes['code'] 値が $array 値のいずれとも一致しない $codes 配列内のすべてのものを取得することです。

今、私は一致するものを持っており、それらを実行して取得します

  foreach($codes as $code) {
      foreach($array as $key=>$value) {
         if(strpos($code['code'], $value)!==false) {
              //it matches grab those values
         }
       }
  }  

基本的に、一致しないものを取得するには、このようなものが必要です

4

1 に答える 1

0

関数を使用する必要がありarray_filterます - http://php.net/manual/en/function.array-filter.php例:

function myFilter($val){ return strpos('foo', $val) === false; }
$array = array("foobar", "foo", "bar");
var_dump(array_filter($array, myFilter));

preg_matchの代わりにメソッドを使用することもできますstrpos

于 2013-01-04T21:55:32.733 に答える