0

私の質問はPHPに関連しています

私は2つの配列を持っています:

Array1 
(
    [0] => "Pecan, Blackberry, Peach, Apple, Orange, Banana"
    [1] => "Potato, Tomato, Broccoli, Spinach"
    [2] => "Cake, Ice-cream, Candy, Jelly, Chocolate"
}

Array2 
(
    [0] => "Banana"
    [1] => "Apple"
    [2] => "Peach"
}

の値(この場合は) が の要素に存在するかどうかを確認するために、Array2[0]要素を一致させたいだけです。Array1[0]Array2[0]BananaArray1[0]

ただし、何らかの方法でこれを回避できますが、ページの読み込み時にこれを10回行う必要があるため、高速でメモリ消費の少ない組み込み関数または別の方法があるかどうかを知りたいです。

4

2 に答える 2

1

私があなたの質問を正しく理解していれば、これはあなたが求めているものです:

foreach ($array2 as $key => val) {
    if (stripos($array1[$key], $val) !== false) {
        // match
    }
}
于 2012-09-26T11:07:00.667 に答える
0

これは正確な値を見つけます (Bananaaaaa は Banana と同じではありません)。

コード

foreach ($array2 as $key => $val) {
    if (in_array($val, explode(', ', $array1[$key]))) {
        var_dump("$val is found in \$array1[$key]");
    } else {
        var_dump("$val is not found in \$array1[$key]");
    }
}

出力

string(29) "Banana is found in $array1[0]"
string(32) "Apple is not found in $array1[1]"
string(32) "Peach is not found in $array1[2]"
于 2012-09-26T11:15:33.907 に答える