From 1a767c6e39422ed3d8e1cfe3a72d28913f9e83c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=B6ller?= Date: Mon, 1 May 2023 13:19:55 +0200 Subject: [PATCH] Enhancement: Document support for Traversables and Enums --- docs/formatters/numbers-and-strings.md | 38 ++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/docs/formatters/numbers-and-strings.md b/docs/formatters/numbers-and-strings.md index 3e627ecc..24fcae11 100644 --- a/docs/formatters/numbers-and-strings.md +++ b/docs/formatters/numbers-and-strings.md @@ -92,13 +92,30 @@ echo $faker->randomLetter(); ## `randomElements` -Returns `$count` amount of random element from the given array. By default, the `$count` parameter is set to 1. +Returns `$count` amount of random element from the given array, traversable, or enum. By default, the `$count` parameter is set to 1. ```php echo $faker->randomElements(['a', 'b', 'c', 'd', 'e']); // ['c'] +echo $faker->randomElements(new \ArrayIterator(['a', 'b', 'c', 'd', 'e'])); + +// ['c'] + +enum Bar +{ + case A = 'a'; + case B = 'b'; + case C = 'c'; + case D = 'd'; + case E = 'e'; +} + +echo $faker->randomElements(Bar::class); + +// ['c'] + echo $faker->randomElements(['a', 'b', 'c', 'd', 'e'], 3); // ['a', 'd', 'e'] @@ -106,11 +123,28 @@ echo $faker->randomElements(['a', 'b', 'c', 'd', 'e'], 3); ## `randomElement` -Returns a random element from the given array. +Returns a random element from the given array, traversable, or enum. ```php echo $faker->randomElement(['a', 'b', 'c', 'd', 'e']); +// 'c' + +echo $faker->randomElement(new \ArrayIterator(['a', 'b', 'c', 'd', 'e'])); + +// 'c' + +enum Bar +{ + case A = 'a'; + case B = 'b'; + case C = 'c'; + case D = 'd'; + case E = 'e'; +} + +echo $faker->randomElement(Bar::class); + // 'c' ```