Hallo,

Ik heb een script nodig dat een berekening kan uitvoeren. Ik weet wel hoe je gewoon X of + doet maar nu loop ik tegen het volgende probleem aan. Voorbeeld: De gebruiker vult een willekeurig getal in, (bv. 158), dan moeten 1, 5 en 8 bij elkaar opgeteld worden. Dan wordt dat 14, het getal moet uitkomen ONDER de 10, dus moet er nog eens 1 + 4 gedaan worden.

Ik hoop dat dit te realiseren is met PHP...
Het grappige is dat je met PHP ook strings kan splitten per letter.

$text = "PHPhulp";
echo $text[1]; geeft dan de tweede letter H.

Zo kan je die getallen ook uit elkaar halen.
Numerologie-berekener aan het maken?

<?php

echo reduceNumber(158) ;

function reduceNumber($number) {
$newNumber = 0;
for ($i=0; $i<strlen($number); $i++) {
$newNumber += (int) substr($number, $i, 1);
}
if ($newNumber < 10) {
return $newNumber;
}
else {
return reduceNumber($newNumber);
}
}
?>
<?php
$getal = rand(0,10000000);

function eindgetal($x)
{
$x = (string) $x;
if(strlen($x) < 2) return $x;
$hlp = 0;
for($i=0;$i<strlen($x);$i++)
{
$hlp += strval($x[$i]);
}
return eindgetal($hlp);
}

echo $getal . ' => ' . eindgetal($getal);
?>
<?php

$getal = 158;

function eindgetal($x){

return ($x < 10) ? $x : eindgetal(array_sum(str_split($x)));
}

echo $getal . ' => ' . eindgetal($getal);

?>
@Mark: Dat is een mooie korte.
De recursieve functie kan prachtig zijn he.
Bedankt, het is gelukt. Het is die van Mark geworden, lekker kort :) @Kris Peeters, ben idd een numerologie berekener aan het maken voor een kennis van me ;)

Bedankt allemaal!
Hoe ziet zo'n numerologie berekener eruit als ik vragen mag? Ik heb wat op google gezocht maar ik zag verschillende varianten.
[offtopic]wat lelijk is php toch hé, een vraag over een getal en de enige oplossing is het gebruik van string functies :p[/offtopic]

Reageren