Скажем, у меня есть текстовая строка: {a|b|c|d} {a|b|c|d} {a|b|c|d} {a|b|c|d}
.Перетасовка текста PHP и все возможные варианты
и простая функция PHP перетасовать текст:
function fb_filter_shuffle($string)
{
if(empty($string))
{
return NULL;
}
return preg_replace_callback('/\{.*?\}/i', function($m)
{
$options = explode('|', mb_substr($m[0], 1, -1));
shuffle($options);
return current($options);
}, $string);
}
Мне нужно, чтобы получить все возможные варианты выхода. Но как? единственный вариант, который я придумал до сих пор, заключался в том, чтобы запустить код nnn
раз и выбрать уникальные параметры. Какие-нибудь более эффективные предложения?
Ссылку вы даете не является хорошим решением ... Действительно с A, B, C Результат вы получите является: B BA C CA CB CBA это отсутствует AB, AC, ABC, BCA, CBA не так ли? – zzarbi