Перебор всех вариантов перестановкой символов в строке
Что бы перебрать все возможные комбинации символов в сроке, воспользуйтесь данным скриптом
Полезно при осуществлении брутофорса, или при написании игры "балда".
Результат работы:
abcdef
abcdfe
abcedf
abcefd
abcfde
abcfed
abdcef
abdcfe и т.д.
//@param array $newarr заполняемый массив
//@param string $string исходная строка
//@param string $prefix префикс
function variant(array &$newarr, $string, $prefix=''){
if(empty($string)) {
$newarr[] = $prefix;
return;
}
$len = mb_strlen($string, 'utf-8');
for($i=0;$i < $len;$i++) {
$string_array = str_split($string);
if(isset($string_array[$i]))
unset($string_array[$i]);
variant($newarr, implode('', $string_array),$prefix.$string{$i});
}
}
//вывод
$string = 'abcdef';
$arr = array();
variant($arr, $string);
var_dump($arr);
Результат работы:
abcdef
abcdfe
abcedf
abcefd
abcfde
abcfed
abdcef
abdcfe и т.д.
Оцените статью или поделитесь ей в соцсетях:
Рекомендуемые статьи:
Комментарии
Нет комментариев к данной статье.