1

これら 2 つのキーワードの文字列を php と比較する必要があります。

$original_keywords = cat, dog, mouse

$possible_keywords_1 = "cat, dog, hamster";       
$possible_keywords_2 = "cat, sheep, goat"; 

「1」の数値を最初の可能な文字列 (1 一致) に割り当て、「2」を 2 番目の文字列 (2 一致) に割り当てるには、php スクリプトが必要です。誰か助けてくれませんか?

4

3 に答える 3

2
$original_keywords = array("cat", "dog", "mouse");
$possible_keywords1 = preg_split('/,\s*/', "cat, dog, hamster");
echo count(array_intersect($original_keywords, $possible_keywords1))
于 2011-07-12T12:19:36.867 に答える
1
$original_keywords = "cat, dog, mouse";
$possible_keywords_1 = "cat, dog, hamster";
$possible_keywords_2 = "cat, sheep, goat";

// Put the input keywords into an array
$keywords = explode(', ', $original_keywords);

// Put all incoming keywords into one big array (you can add as many arrays
// as you want here)
$input = array_merge(
    explode(', ', $possible_keywords_1),
    explode(', ', $possible_keywords_2));

// Count how many times each keywords from $input appears
$count = array_count_values($input);

// Filter out from $count any keyword that is not present in $keywords
$result = array_intersect_key($count, array_flip($keywords));

実際の動作をご覧ください

于 2011-07-12T12:23:22.330 に答える
0

爆発array_intersectの組み合わせを使用してそれを行うことができます

以下は、開始するコードです。

$possible_keywords_1_array = explode(",", $possible_keywords_1); 
$possible_keywords_2_array = explode(",", $possible_keywords_2); 
$matches = count(array_intersect($possible_keywords_1_array, $possible_keywords_2_array)); 
于 2011-07-12T12:26:06.953 に答える