- in_array: documentation ( source)
- sprintf: documentation ( source)
<?php
$tries = 0;
$regenerateLimit = 10;
do {
if ($tries++ > $regenerateLimit) {
throw new \RuntimeException(sprintf('Generation failed after %d tries', $tries));
}
$orderNumber = $this->randomGenerator->generate(10000, 99999);
} while (in_array($orderNumber, [2, 5]));
echo $orderNumber;