You are here
Generar Números De Factura Consecutivos Usando PHP Sin categoría 

Generar Números De Factura Consecutivos Usando PHP

Generar Números De Factura Consecutivos Usando PHP

Por lo general, cuando se trata de la facturación tendrá que generar números consecutivos. Por ejemplo, en Bulgaria, los números de las facturas deben ser de 10 dígitos de longitud. Así que si se inicia desde su primera factura su número debe ser 0000000001, a continuación, la siguiente factura debe ser 0000000002, y así sucesivamente. Como se puede imaginar que no sólo puede hacer un ciclo para generar estos números como

1
2
3
4
5
6
7
<?php
for ($number = 1; $number<10; $number++) {
   echo $number;
}
?>

El código anterior generará los siguientes números 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Usted tendrá que añadir manualmente los ceros adicionales delante de cada número. Sin embargo, hay una función de PHP str_pad muy útil que agregará cualquier cadena (en nuestro caso esto es sólo 0) al comienzo o al final de una cadena por lo que se convierte en una determinada longitud. Hemos creado una función simple en el que puede especificar el número de inicio, contar y cuántos dígitos de los números generados deberían ser.

1
generate_numbers($start, $count, $digits)

 

$ empezar – es el número de su primera factura

$ count – la cantidad de números de factura que desea generar

$ dígitos – el número de dígitos de los números generados deben ser

1
2
3
4
5
6
7
8
9
10
11
<?php
function generate_numbers($start, $count, $digits) {
   $result = array();
   for ($n = $start; $n < $start + $count; $n++) {
      $result[] = str_pad($n, $digits, "0", STR_PAD_LEFT);
   }
   return $result;
}
?>

Así que si se llama a la función como esta

1
$numbers = generate_numbers(9992, 20, 10);

que va a generar una matriz $ los números con los siguientes valores

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Array
(
[0] => 0000009992
[1] => 0000009993
[2] => 0000009994
[3] => 0000009995
[4] => 0000009996
[5] => 0000009997
[6] => 0000009998
[7] => 0000009999
[8] => 0000010000
[9] => 0000010001
[10] => 0000010002
[11] => 0000010003
[12] => 0000010004
[13] => 0000010005
[14] => 0000010006
[15] => 0000010007
[16] => 0000010008
[17] => 0000010009
[18] => 0000010010
[19] => 0000010011
)

Como se puede ver los primeros ocho números son 4 dígitos de longitud (9992 a 9999) y, por tanto, tenemos seis 0 integrarse delante de ellos. Entonces tenemos 5 dígitos números largos (10000 a 10011) y para estos números tenemos cinco 0 integrarse delante de ellos.


Si quieres seguir aprendiendo con nosotros, puedes ingresar a nuestros

Cursos y Diplomados de Tecnología Web visita www.uneweb.edu.ve  para más información

Related posts