Categorie
PHP

Numeri random multipli di un certo numero con PHP

Oggi ho avuto la necessità per un sito di e-commerce di scrivere una procedura di creazione sconti automatici.
Semplificando molto, quello che deve fare il programma è, applicare a certi prodotti uno sconto casuale (entro un certo range) ma che sia però multiplo di 5, quindi 5-10-15-20% etc..

La funzione rand() di PHP non è sufficiente in quanto non mi permette di gestire il multiplo, ma accetta solo due parametri (min e max) e che io sappia non c’è niente di built-in nel linguaggio che ottenga questo risultato.
Ecco come ho risolto:

Ora i parametri sono tre, ho aggiunto il multiplo. Il fusso della funzione è il seguente:

  1. Genero con rand il numero casuale
  2. Recupero il resto della divisione del numero appena generato con il parametro $multiple
  3. Poi in base al valore del resto lo aggiungo o lo sottraggo al numero random (simulando quindi anche una sorta di arrotondamento)

Se avete qualche altra idea (magari più “geniele”) su come raggiungere lo stesso risultato fatemelo sapere. 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.