- 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));
}
if ($tries == 1) {
$orderNumber = 2;
} else if ($tries == 2) {
$orderNumber = 5;
} else {
$orderNumber = 7;
}
} while (in_array($orderNumber, [2, 5]));
echo $orderNumber;