2017-01-18 3 views
0

Я новичок в PHP, и я знаю, что есть много вопросов, связанных с этим, но я не нашел никакой полезной информации. Мне нужно удалить повторяющиеся значения из текстового файла.Как удалить повторяющиеся значения из текстового файла?

Вот текст моего текстового файла:

\ewf54fwe*51-651few15wfe42' 

Вот мой PHP код:

$names = file('1uzduotistxt.txt'); 

foreach($names as $name) 
{ 
    for($i=0; $i<strlen($name);$i++) { 
     if (is_numeric($name[$i]) && $name[$i]%2==0) 
     { 
      echo "$name[$i]"; 
     } 
    } 
} 

Мой код печатает четные числа из текстового файла (это: 4642), но мне нужно удалите из него повторяющиеся значения. Как мне это сделать? Спасибо за помощь.

ответ

0

Все, что вам нужно [count_chars():] [1]

$result = count_chars($str, 3); 

Со вторым параметром $ установленном режиме 3, count_chars() выход будет:

<?php 

$names = file('1uzduotistxt.txt'); 

foreach($names as $name) 
{ 
    $name = count_chars($name, 3); 

    for($i=0; $i<strlen($name);$i++) { 
     if (is_numeric($name[$i]) && $name[$i]%2==0) 
     { 

      echo "$name[$i]"; 
     } 

    } 

} 

?> 

Выходной: 246

+0

Я пробовал это, но это по-прежнему не удаляет повторяющиеся значения ... Это по-прежнему печатает «4642»:/ – user7435747

+0

я обновил ма ответ .. пожалуйста используют этот – NID

+0

Man, пожалуйста, не могли бы вы вставить count_chars() в мой код? Потому что я не знаю, где именно я должен вставить его, поэтому мой код не работает или он показывает много ошибок ... – user7435747

0

Вы можете получить содержимое этого файла в строке, а затем вы можете извлечь целые числа из этой строки, а затем отфильтровать их как уникальный.

$str = "\ewf54fwe*51-651few15wfe42"; 

$arr = array_values(array_unique(str_split(intval(preg_replace('/[^0-9]+/', '', $str), 10)))); 
     print_r($arr); 
Смежные вопросы