Генерация пока не будет совпадения
Здравствуйте подскажите как правильно сделать, мне нужно, что бы рандомно выводились цифры всего массива и если оно совпало с моей, например 1 то выводить все несовпавшие цифры пока не будет 1, и когда выпала моя цифра выводить ее другим цветом и остановить цикл
В сети нашел это
$mchislo = 1;//моя цифра
echo generate_password(1);
function generate_password($number) {
$arr = array('1','2','3','4','5','6','7','8','9','0','11','12');
$pass = "";
for($i = 0; $i < $number; $i++)
{
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
Ответы (1 шт):
Автор решения: Dmitrii Sedov
→ Ссылка
Дополнил код. Заменяем цикл на while и добавляем условие совпадения
$mchislo = 5;//моя цифра
echo generate_password($mchislo);
function generate_password($number = 0) {
if ($number === 0) {
echo "Вы не указали значение";
return false;
}
$index = 0;
$arr = array('1','2','3','4','5','6','7','8','9','0','11','12');
if ($arr[$index] == $number) return $arr[$index];
$pass = "";
while($arr[$index] != $number) {
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}