Hola

Tengo una funcion para generar contraseñas y me funciona bien, el problema es que me la imprime y cuando llamo a la funcion desde el script la variable esta vacia, no se como guardar la contraseña en la variable sin que se queda vacia al llamarla.

No se si me he explicado bien.

Funcion:
Código PHP:
/*Generar contraseña aleatoria*/
function generar_contrasena($tam=7,$may=FALSE)
{
    
    
//El tamaño por defecto es 7 para una longitud de 8,    
    //Tamaño Mínimo
    
$min=7;
    
//Tamaño Máximo
    
$max=14;
        
    if(
$may === FALSE)
    {
        
$cadena='0123456789abcdefghijklmnopqrstuvwxyz';
    }
    else
    {
        
$cadena='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    }
    if((
$tam >= $min)&&($tam <=$max))
    {
        
//Generación aleatoria segun sea mayuscula o minuscula.
        
for($i=0;$i<=$tam;$i++)
        {
            
//Guardamos en un arreglo.
            
$pila[]=$cadena{rand(0,25)};
        }
        
//Desordenamos el arreglo.
        
shuffle($pila);
                
        
//Mostramos la contraseña   
        
foreach($pila as $letra => $contrasena)
        {
           echo 
$contrasena;        
        }     
    }
    
    

Gracias

Un saludo