mrdubz
@mrdubz
front end developer

Как сделать генератор словосочетаний на PHP?

Есть два файла - скажем, firstword.txt c прилагательными и secondword.txt с существительными, в файлах все слова идут с новой строки. Как выводить одно случайное слово из первого файла и случайное из второго, чтобы получалось рандомное словосочетание?
  • Вопрос задан
  • 2907 просмотров
Решения вопроса 1
$words1 = file('firstword.txt');
$words1MaxIndex = count($words1) - 1;

$words2 = file('secondword.txt');
$words2MaxIndex = count($words2) - 1;

$randomPhrase = $words1[mt_rand(0, $words1MaxIndex)] . ' ' . $words2[mt_rand(0, $words2MaxIndex)];
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
nalomenko
@nalomenko
Руководитель отдела разработок в студии «Lava»
Зависит от того, сколько слов в каждом файле, и от того, на какой кусок оперативной памяти Вы рассчитываете :)
Самый простой вариант — прочитать оба файла в строковые переменые, сделать им explode() c делимитером "\n" или "\r\n" (зависит от формата Вашего файла) и выбрать из обоих результатов-массивов по случайному слову с номером:
$n = rand(0, count($result_array) - 1)

Хотя кто мешает хранить словари в базе данных и выбирать их по критерию ORDER BY RAND() LIMIT 1 ?
Ответ написан
@frees2
идеально использовать словарь тропов а не слов, подбирать под заголовки сообщений, в частности бродского, был такой текстовый файл, помниЦа паркер принял его за живого человека
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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