CloudCastle Faker API

Randomizer
in package

FinalYes

Ядро случайности: примитивы поверх чистого поставщика битов ({@see RandomEngineInterface}).

Здесь сосредоточена вся арифметика диапазонов, выбор из наборов и перемешивание. Выборка целых — беспристрастная (rejection sampling), поэтому равномерность не искажается остатком от деления. Движок инъектируется, что делает граничные ветви детерминированно тестируемыми.

Table of Contents

Methods

__construct()  : mixed
asciiCharacter()  : string
Случайный печатный ASCII-символ (33–126).
asciify()  : string
Заменить в шаблоне `*` на случайный печатный ASCII-символ.
boolean()  : bool
Булево значение с заданной вероятностью истины в процентах.
bothify()  : string
Применить к шаблону и {@see self::numerify()}, и {@see self::lexify()}.
bytes()  : string
Случайная строка сырых байт заданной длины.
digit()  : int
Случайная десятичная цифра 0–9.
digitNotZero()  : int
Случайная десятичная цифра 1–9 (без нуля).
element()  : TValue
Случайный элемент массива.
elements()  : array<int, TValue>
Несколько случайных элементов массива.
float()  : float
Число с плавающей точкой в полуинтервале [0, 1).
floatBetween()  : float
Число с плавающей точкой в диапазоне [$min, $max), при желании округлённое.
key()  : int|string
Случайный ключ массива.
letter()  : string
Случайная строчная латинская буква.
lexify()  : string
Заменить в шаблоне `?` на случайную строчную латинскую букву.
number()  : int
Случайное целое с заданным числом десятичных разрядов.
numberBetween()  : int
Равномерное целое в диапазоне [$min, $max] включительно.
numerify()  : string
Заменить в шаблоне `#` на случайную цифру (0–9), `%` — на цифру 1–9.
regexify()  : string
Строка, соответствующая упрощённому регулярному выражению.
shuffle()  : array<int, TValue>
Перемешать массив (алгоритм Фишера—Йетса), вернув новый список значений.
shuffleString()  : string
Перемешать символы строки (корректно для многобайтовых символов).

Methods

asciiCharacter()

Случайный печатный ASCII-символ (33–126).

public asciiCharacter() : string
Return values
string

asciify()

Заменить в шаблоне `*` на случайный печатный ASCII-символ.

public asciify(string $pattern) : string
Parameters
$pattern : string

шаблон (прочие символы сохраняются)

Return values
string

boolean()

Булево значение с заданной вероятностью истины в процентах.

public boolean([int $chanceOfTrue = 50 ]) : bool
Parameters
$chanceOfTrue : int = 50

вероятность true в процентах (0–100)

Return values
bool

bothify()

Применить к шаблону и {@see self::numerify()}, и {@see self::lexify()}.

public bothify(string $pattern) : string
Parameters
$pattern : string

шаблон с #, % и ?

Return values
string

bytes()

Случайная строка сырых байт заданной длины.

public bytes(int $length) : string
Parameters
$length : int

число байт (>= 0)

Tags
throws
InvalidArgumentException

при отрицательной длине

Return values
string

строка из $length байт

digit()

Случайная десятичная цифра 0–9.

public digit() : int
Return values
int

цифра в [0, 9]

digitNotZero()

Случайная десятичная цифра 1–9 (без нуля).

public digitNotZero() : int
Return values
int

цифра в [1, 9]

element()

Случайный элемент массива.

public element(array<string|int, TValue$array) : TValue
Parameters
$array : array<string|int, TValue>

исходный массив

Tags
template
throws
InvalidArgumentException

если массив пуст

Return values
TValue

случайный элемент

elements()

Несколько случайных элементов массива.

public elements(array<string|int, TValue$array[, int $count = 1 ][, bool $allowDuplicates = false ]) : array<int, TValue>
Parameters
$array : array<string|int, TValue>

исходный массив

$count : int = 1

сколько элементов вернуть

$allowDuplicates : bool = false

разрешить повторы

Tags
template
throws
InvalidArgumentException

при пустом массиве, отрицательном количестве или нехватке уникальных элементов

Return values
array<int, TValue>

выбранные элементы

float()

Число с плавающей точкой в полуинтервале [0, 1).

public float() : float
Return values
float

floatBetween()

Число с плавающей точкой в диапазоне [$min, $max), при желании округлённое.

public floatBetween([int|null $decimals = null ][, float $min = 0.0 ][, float $max = 1.0 ]) : float
Parameters
$decimals : int|null = null

число знаков после запятой (null — без округления)

$min : float = 0.0

нижняя граница включительно

$max : float = 1.0

верхняя граница исключительно

Return values
float

значение в [$min, $max)

key()

Случайный ключ массива.

public key(array<string|int, mixed> $array) : int|string
Parameters
$array : array<string|int, mixed>
Return values
int|string

случайный существующий ключ

letter()

Случайная строчная латинская буква.

public letter() : string
Return values
string

lexify()

Заменить в шаблоне `?` на случайную строчную латинскую букву.

public lexify(string $pattern) : string
Parameters
$pattern : string

шаблон (прочие символы сохраняются)

Return values
string

number()

Случайное целое с заданным числом десятичных разрядов.

public number(int $digits) : int
Parameters
$digits : int

число разрядов (1–9; шире — выходит за поддерживаемый диапазон)

Tags
throws
InvalidArgumentException

если диапазон значений шире 2^32

Return values
int

значение в [0, 10^$digits − 1]

numberBetween()

Равномерное целое в диапазоне [$min, $max] включительно.

public numberBetween([int $min = 0 ][, int $max = 2147483647 ]) : int

Границы автоматически упорядочиваются, если переданы в обратном порядке.

Parameters
$min : int = 0

нижняя граница включительно

$max : int = 2147483647

верхняя граница включительно

Tags
throws
InvalidArgumentException

если диапазон шире 2^32 значений

Return values
int

значение в [$min, $max]

numerify()

Заменить в шаблоне `#` на случайную цифру (0–9), `%` — на цифру 1–9.

public numerify(string $pattern) : string
Parameters
$pattern : string

шаблон (прочие символы сохраняются)

Return values
string

regexify()

Строка, соответствующая упрощённому регулярному выражению.

public regexify(string $pattern) : string

Поддерживаются: литералы, экранирование \d/\w/\s и \X, классы символов [...] с диапазонами, группы-альтернативы (a|b), «любой символ» ., якоря ^/$ (отбрасываются) и кванторы {n}, {n,m}, ?, *, +.

Parameters
$pattern : string

шаблон-регулярное выражение

Return values
string

сгенерированная под шаблон строка

shuffle()

Перемешать массив (алгоритм Фишера—Йетса), вернув новый список значений.

public shuffle(array<string|int, TValue$array) : array<int, TValue>
Parameters
$array : array<string|int, TValue>

исходный массив

Tags
template
Return values
array<int, TValue>

перемешанные значения (0-индексированные)

shuffleString()

Перемешать символы строки (корректно для многобайтовых символов).

public shuffleString(string $value) : string
Parameters
$value : string

исходная строка

Return values
string

строка из тех же символов в случайном порядке

On this page

Search results