killStrikeFF
@killStrikeFF
Интересуюсь it сферой.

Как создать массив со всеми неповторяющимися вариантами строки?

$string = "{Пожалуйста,|Просто|Если сможете,} сделайте так, чтобы это {удивительное|крутое|
                простое|важное|бесполезное} тестовое предложение {изменялось {быстро|мгновенно|
                оперативно|правильно} случайным образом|менялось каждый раз}.";

    /*
     * CallBack функция
     *
     */
    function firstRask($matches) {

            $str = substr($matches[0], 1, strlen($matches[0]) - 2);
            $str = preg_replace_callback('~{(?>[^{}]+|(?0))*}~', 'firstRask', $str);
            $oneVariant = explode('|', "$str");

            return $oneVariant[mt_rand(0, count($oneVariant) - 1)];
    }

    $variant = preg_replace_callback('~{(?>[^{}]+|(?0))*}~', 'firstRask', $string);

    echo $variant;
    echo '<br>';


Данный отрезок позволяет кода позволяет каждый раз из строки $string формировать текст раскрывая по-разному фигурные скобки.

Как сделать так, чтобы результат помещался в ячейку массива, и он всегда отличался от того что есть внутри массива. И главное, чтобы поместились все возможные значения. По теории вероятности я посчитал порядка 120.
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
martin74ua
@martin74ua
Linux administrator
наймите программиста
Ну или на фрилансим с такими вопросами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы