PHP Faker. Как создать N уникальных слов?

Мне нужно создать N уникальных слов. Кажется, что «слова» не работают с «уникальным».

\Faker\Factory::create()->unique()->words(14);

…unique () -> word () работает. Я пытаюсь создать 250 уникальных слов, подобных этому:

for ($i = 1; $i <= 250; $i++) {
$iadefaults[] = $faker->unique()->word();
}

но я получаю

Maximum retries of 10000 reached without finding a unique value

Как я могу создать эти 250 уникальных слов с помощью фейера?

2

Решение

Похоже, я нашел решение для вашей проблемы

Перейдите к источникам Факера, и там вы найдете Provider/Lorem.php файл

На самом верху есть protected static $wordList свойство, которое содержит массив, определяющий, какие слова возвращаются генератором. Если вы делаете count(array_count_values($wordList)); — вы увидите магическое число из 182 уникальных слов 🙂 Неудивительно, что он не смог получить больше уникальных значений на основе этого списка.

Так что вам просто нужно поместить больше уникальных слов в этот массив, и это поможет!

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]