Я пишу простую функцию PHP, которая будет обращаться к word-list.txt и извлекать случайное слово (слова разделены новой строкой). Это слово должно иметь максимальную длину $maxlength. В том виде, как я это написал, он будет вытягивать слово, и если длина слишком велика, он будет продолжать получать новое слово, пока оно не станет меньше или равно $maxlength. Проблема, с которой я сталкиваюсь, заключается в том, что скрипт возвращает фатальную ошибку для максимального времени выполнения. Вот код:
function GetWord($maxlength) {
$file_content = file('word-list.txt');
$nword = $file_content[array_rand($file_content)];
while(mb_strlen($nword) > $maxlength) {
$nword = $file_content[array_rand($file_content)];
}
return $nword;
}
Единственная альтернатива, о которой я мог подумать, - это поместить список слов в базу данных и иметь столбец с длиной каждого соответствующего слова. Это позволило бы мне выбирать варианты слов в зависимости от их длины. Однако я пытаюсь избежать использования базы данных, поэтому я хочу выяснить, что не так с моим скриптом. Любая помощь приветствуется. Спасибо!