- 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 = sprintf('%05d%05d', $this->randomGenerator->generate(10000, 99999), $this->randomGenerator->generate(0, 99999));
} while (in_array($orderNumber, [2, 5]));
echo $orderNumber;