Я пишу простую функцию 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;
}
Единственная альтернатива, которую я мог думать ставит список слов в базу данных и иметь столбец с длиной каждого соответствующего слова. Это позволило бы мне выбрать выбор слов на основе их длины. Однако я стараюсь не использовать базу данных, поэтому хочу узнать, что не так с моим скриптом. Любая помощь приветствуется. Благодаря!
Что-то я должен был упомянуть, что этот файл довольно большой и содержит более 9000 строк. Это приводит к тому, что некоторые из предложенных предложений все еще требуют тайм-аута. – bigbluehouse