Перебор всех вариантов перестановкой символов в строке


Что бы перебрать все возможные комбинации символов в сроке, воспользуйтесь данным скриптом
Полезно при осуществлении брутофорса, или при написании игры "балда".
//@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 и т.д.

Оцените статью или поделитесь ей в соцсетях:

+ 0 | - 0

Рекомендуемые статьи:


Комментарии

Нет комментариев к данной статье.

Оставьте комментарий!

Поля обозначенные как * требуются обязательно. Перед постингом всегда делайте просмотр своего комментария.