Генерация пока не будет совпадения

Здравствуйте подскажите как правильно сделать, мне нужно, что бы рандомно выводились цифры всего массива и если оно совпало с моей, например 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;
}
→ Ссылка