【问题标题】:php compare string of keywordsphp比较关键字的字符串
【发布时间】:2011-07-12 12:17:27
【问题描述】:

我需要将这两个关键字字符串与php进行比较。

$original_keywords = cat, dog, mouse

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

我需要一个 php 脚本来将数值“1”分配给第一个可能的字符串(1 个匹配项),将“2”分配给第二个可能的字符串(2 个匹配项)。谁能帮帮我?

【问题讨论】:

    标签: php compare keyword substr


    【解决方案1】:
    $original_keywords = array("cat", "dog", "mouse");
    $possible_keywords1 = preg_split('/,\s*/', "cat, dog, hamster");
    echo count(array_intersect($original_keywords, $possible_keywords1))
    

    【讨论】:

      【解决方案2】:
      $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));
      

      See it in action.

      【讨论】:

        【解决方案3】:

        您可以使用 explodearray_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-10-03
          • 1970-01-01
          • 2018-09-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          相关资源
          最近更新 更多