簡體   English   中英

用php查找單詞的重復列表

[英]find repeated list of words with php

這是一個簡單的問題,但我仍然不知道如何解決。

我有一個類似的單詞列表:

word
word
    one
    two
    three
    four
    five
    .
    ....X100
word
word

單詞(1、2、3、4、5)完全重復,並且以相同的順序重復100次。 單詞(word)不會重復,應該忽略。

我想以完全相同的順序獲取該列表(一,二,三,四,五)。 如何做到這一點在PHP中。 到目前為止,我所嘗試的所有工作都只能計算單詞出現的次數,並且不尊重單詞順序。

更新資料

謝謝大家的回答!

這是我的代碼,仍然有很多錯誤

<?php
$str = 'word
word
word2
word3
one
two
three
four
one
two
three
four
one
two
three
four
one
two
three
four
one
two
three
four
one
two
three
four
yes
no 
do';
function repeated($str)
{
    $str=trim($str);  
    $str=ereg_replace('[[:space:]]+', ' ',$str);  
    $words=explode(' ',$str);  
    $lastWord = '';
    foreach($words as $w)  
    {  
        $wordstats[($w)]++;  

        if($lastWord!=''){
            $wordstats[$lastWord.' '.$w]++;
        }
        $lastWord = $w;
    }  
    foreach($wordstats as $k=>$v)  
    {  
        if($v>=2)  
        {  
            print "$k"." , ";  
        }  
    }  
}

print repeated($str);

?>

基本上我想要的是給php $ str文本,里面會有很多重復的單詞(一,二,三,四),並確定了模式(一,二,三,四)

現在,請將此作為提示:

您可以使用一個計數變量和一個數組。 創建所需的這些單詞的數組:

$SearchMe = array("One", "Two", "Three", "Four");
$Index = 0;

接下來,遍歷所需的列表。 但是不要檢查“一”,“二”,“三”,而要檢查:

$SearchMe[$Index];

每次,您查找$ SearchMe [$ Index],將其迭代一次,直到您位於數組的末尾。 到達那里后,您將增加另一個計數器,因為您已找到序列。 在序列的末尾,或者如果發現不匹配,請記住將$ Index重置為0。

那應該工作。

更新我認為這不是您要找的答案。 再次閱讀您的問題后,我不太確定您實際上在問什么。 因此,請向我們提供更多信息,以便我們更加准確。

-

我認為您正在尋找類似的東西。 您的列表是數組嗎? 如果是這樣的話:

    <?php      
    foreach ($list as $key => $value ){
      if (isarray($value)){
        $ListINeed[] = $value;
      }
    }
    ?>

當您將數組放置在開頭的帖子中時,將返回:

    $ListINeed[1] = array(
      [0] => one
      [1] => two
      [2] => three
      [3] => four
      [4] => five
      [x] => .
      [100] => ....X100
    )

如果您確定ListINeed僅會出現一次,請在if語句的第一段代碼的$ ListINeed之后刪除兩個方括號([])。 然后你會得到

    $ListINeed = array(
      [0] => one
      [1] => two
      [2] => three
      [3] => four
      [4] => five
      [x] => .
      [100] => ....X100
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM