3v4l.org

run code in 300+ PHP versions simultaneously
<?php function randomString(int $stringLength, array $parts, string $delimeter = ' ') : string { $keys = array_keys($parts); // Получаем массив ключей массива. Они упорядочены и идут с нулевого индекса. $count = count($keys); if (0 === $count) { return ''; } $text = []; for($i = 1; $i <= $stringLength; $i++) { // Больше нравится когда написано конкретно "с первого до последнего" $text[] = $parts[$keys[random_int(0, $count - 1)]]; // Получаем значение по случайному ключу из массива ключей } return implode($delimeter, $text); } echo randomString( 10, [ 'a' => 'lorem', 14 => 'ipsum', 'dolor' => 'dolor', 5 => 'sit', 'amet' => 'amet' ] );

preferences:
32.32 ms | 402 KiB | 5 Q