calcolo php

Sladjana Stojkovic

Nuovo Utente
3 Lug 2015
3
0
0
Vorrei che mi fa il calcolo del numero personale attraverso la data di nascita
Il calcolo che si dovrebbe fare è:Es. 8(giorno di nascita) + 12(mese di nascita) + 1+9+7+1(anno di nascita)=38=3+8=11=1+1=2
il risultato finale non dovrebbe essere maggiore di 9.
Non capisco come dovrei fargli capire finchè non esce il numero minore o uguale a 9 fai (es.)3+8

Grazie in anticipo
 
ciao
ecco una funzioncina
PHP:
<?php
function torna_numero($d) {
    $num_nu = 0;
    $ex = explode("/", $d); //$ex[0] -> giorno, $ex[1] -> mese, $ex[2] -> anno
	//ATTENTO: nella data ho usato come divisore / se usi un altro divisore devi campiarlo nella funzione sopra
    foreach ($ex as $val) {//cicla la data esplosa
        $car = preg_split('//', $val, -1, PREG_SPLIT_NO_EMPTY);//divide i valori $car[0]->0 $car[1]->8 ecc.. 
        foreach ($car as $n) {//cocla i numeri
            $num_nu+= (int) $n;//esegue la somma
        }
    }
    if ($num_nu <= 9) {//se il numero è minore uguale a 9 riporta il numero
        return $num_nu;
    } else {//se no riparte (ricorsiva)
        return torna_numero($num_nu);
    }
}
$nascita = "08/12/1971";
echo "la somma dei numeri di $nascita &egrave; " . torna_numero($nascita); //per la data impostata ritorna 2
?>
 
Ottimo lavoro e grazie

ciao
ecco una funzioncina
PHP:
<?php
function torna_numero($d) {
    $num_nu = 0;
    $ex = explode("/", $d); //$ex[0] -> giorno, $ex[1] -> mese, $ex[2] -> anno
	//ATTENTO: nella data ho usato come divisore / se usi un altro divisore devi campiarlo nella funzione sopra
    foreach ($ex as $val) {//cicla la data esplosa
        $car = preg_split('//', $val, -1, PREG_SPLIT_NO_EMPTY);//divide i valori $car[0]->0 $car[1]->8 ecc.. 
        foreach ($car as $n) {//cocla i numeri
            $num_nu+= (int) $n;//esegue la somma
        }
    }
    if ($num_nu <= 9) {//se il numero è minore uguale a 9 riporta il numero
        return $num_nu;
    } else {//se no riparte (ricorsiva)
        return torna_numero($num_nu);
    }
}
$nascita = "08/12/1971";
echo "la somma dei numeri di $nascita &egrave; " . torna_numero($nascita); //per la data impostata ritorna 2
?>
Funziona alla perfezione.
:fonzie:
 

Discussioni simili