Небольшой скрипт

Npix

Гуру форума
Регистрация
14 Ноя 2009
Сообщения
307
Реакции
53
Напишите пожалуйста небольшой скрипт. Смысл его что бы он в одной строке находил 2 одинаковых символа и менял их.

Сам текст структурирован, записан в ТХТ файле.
 
Извращение больного кодера
PHP:
$arr_str = array('qqqqqqqqqqqqqqqqqq 1', 'qwerty qwerty qwerty qwerty  no');
foreach($arr_str as $index_str=>$str){
   $split = str_split($str);
   $abc_repeat = array();
   foreach($split as $index_abc => $abc){
        if(!trim($abc) ){
            continue;
        }
        if(isset($abc_repeat[$abc])){
            if(!isset($abc_repeat[$abc][1])){
                $abc_repeat[$abc][1] = mt_rand(1, 9);
                $arr_str[$index_str][$abc_repeat[$abc][0]] =  $abc_repeat[$abc][1];
            }
            
           
            $arr_str[$index_str][$index_abc] = $abc_repeat[$abc][1];
          continue;
        }
       $abc_repeat[$abc] = array($index_abc) ;
    
   }
}
print_r($arr_str);
Конечно можно было замутить через array_split и array_count_values
но вроде там вычислений побольше.
PHP:
$arr_str = array('qwerty q y zxcvb', 'qwerty qwerty no');

foreach($arr_str as $index_str=>$str){
   $split = str_split($str);
   $abc_count = array_count_values($split);
   foreach($split as $index_abc => $abc){
        if(!trim($abc) || $abc_count[$abc] == 1 ){
            continue;
        } 
        $arr_str[$index_str][$index_abc] = 'Z';
   }
}
 print_r($arr_str);
 
Назад
Сверху