2

私は周りを見回しましたが、必要に応じて何かを見つけることができないようです。

関数に 2 つの配列があるとしますが、それらは完全に動的です。したがって、この関数が実行されるたびに、送信されたページに基づいて配列が作成されます。

これらの配列をどのように一致させ、両方に現れるフレーズ/単語を探す必要があります。

例: (各配列に 1 つの要素のみ)

    Array 1: "This is some sample text that will display on the web"
    Array 2: "You could always use some sample text for testing"

したがって、その例では、2 つの配列には、それぞれにまったく同じように見えるフレーズ「Sample Text」があります。

したがって、これらの配列は常に動的であるため、配列に含まれる単語がわからないため、正規表現のようなことはできません。

4

4 に答える 4

4

次のように、文字列の配列内のすべての単語を見つけることができます。

function find_words(array $arr)
{
        return array_reduce($arr, function(&$result, $item) {
                if (($words = str_word_count($item, 1))) {
                        return array_merge($result, $words);
                }
        }, array());
}

それを使用するには、最終結果を次のように実行しますarray_intersect

$a = array('This is some sample text that', 'will display on the web');
$b = array('You could always use some sample text for testing');

$similar = array_intersect(find_words($a), find_words($b));
// ["some", "sample", "text"]
于 2013-05-27T09:16:54.667 に答える
0

2 つの文字列をスペースで分解します。配列を比較する単純なケースです。

于 2013-05-27T09:20:34.060 に答える