2017-10-16 15 views
0

J'ai une chaîne "34_56_67_78_97 34_56_67_78_97 23_45_56_67_89 34_56_77_88_96 45_56_66_78_88 56_67_67_78_90" mais quand je cours le code ci-dessous le tableau revient comme nul. Les nombres liés aux tirets sont un mot numérique de mon point de vue et j'aimerais savoir quels mots numériques apparaissent dans la chaîne 2 fois ou plus. Dans ce cas, la réponse serait le mot numérique 34_56_67_78_97.PHP: str_word_count ne fonctionne pas sur ma chaîne, quelqu'un voit l'erreur?

$string="34_56_67_78_97 34_56_67_78_97 23_45_56_67_89 34_56_77_88_96 45_56_66_78_88 56_67_67_78_90" 

$words = str_word_count($string, 1); 

$frequency = array_count_values($words); 

$result = array_filter($frequency, function ($x) { return $x >= 13; }); 
+1

Que fait str_word_count() '? – samayo

+0

str_word_count compte combien de fois les mots individuels d'une chaîne se produisent. – user3152377

+1

Où avez-vous eu l'idée de ces chiffres et les traits de soulignement ont été considérés comme des mots? Avez-vous vérifié le manuel sur str_word_count? – mario

Répondre

0

trouvé un lien vers la question ici à stackoverflow: Numeric Values and Special charectors in str_word_count function

Alors mon code devrait ressembler à ceci pour le faire fonctionner:

$str="34_56_67_78_97 34_56_67_78_97 23_45_56_67_89 34_56_77_88_96 45_56_66_78_88 56_67_67_78_90"; 
$somearray = str_word_count($str, 1, '1234567890:@&_'); 
print_r($somearray); 

impression de code:

Array 
(
    [0] => 34_56_67_78_97 
    [1] => 34_56_67_78_97 
    [2] => 23_45_56_67_89 
    [3] => 34_56_77_88_96 
    [4] => 45_56_66_78_88 
    [5] => 56_67_67_78_90 
)