Intento generar números aleatorios (3 números) con el código php, pero cuando intento devolver el valor no funciona

Aquí está el script php mío: cuando intento devolver el valor a $ total y la función echo genera_random_3 después, en algunos casos no genera ningún número, por favor ayuda

<?php
    function generate_random_3(){

        for($x=0; $x<3; $x++){
            $random[] = rand(1, 9);
        }
        list($first, $second, $third) = $random;

        if($first!=$second AND $first!=$third AND $second!=$third AND $first!=0){
            $total = $first.$second.$third;
            return $total;
            }else{
            generate_random_3();
            }
    }
    echo generate_random_3();
?>

Respuestas a la pregunta(2)

Su respuesta a la pregunta