Hola, necesito generar números de cuenta únicos de 9 dígitos. Aquí está mi pseudocódigo:Generando números de cuenta únicos - llamada recursiva
function generateAccNo()
generate an account number between 100,000,000 and 999,999,999
if the account number already exists in the DB
call generateAccNo() /* recursive call */
else
return new accout number
end if
end function
La función parece estar funcionando bien, sin embargo, estoy un poco preocupado por la llamada recursiva.
¿Esto provocará pérdidas de memoria (PHP 5 en apache)?
¿Es esta una forma aceptable de abordar este problema?
Gracias por su aportación.
¡pero stackoverflow es increíble! – Aaron
Eso sería poco probable. Depende de la aleatoriedad del número de cuenta generado y del número de cuentas activas. Con el código administrado, debe recurse 10 veces o miles de veces para romper la pila. Cuando la probabilidad de no exclusividad se acerca a 10,000: 1, entonces es hora de preocuparse. – Wedge
Gracias Esetban has hablado un poco de sentido común en mí jeje :) Dejaré que el DB cree el valor para mí y me atengo a los números secuenciales. Gracias –