variable valor una session_destroy sesion recuperar obtener inicializar ini_set destruir delete php string sum

valor - Obtén la suma de dígitos en PHP



recuperar session php (10)

Aquí está el código ... Por favor intente esto

<?php $d=0; $num=12345; $temp=$num; $sum=0; while($temp>1) { $temp=$temp/10; $d++; } echo "Digits Are : $d </br>"; for (;$num>1;) { $d=$num%10; $num=$num/10; $sum=$sum+$d; } echo "Sum of Digits is : $sum"; ?>

¿Cómo encuentro la suma de todos los dígitos en un número en PHP?


El método de Artefactos es obviamente imbatible, pero aquí hay una versión de cómo se puede hacer "manualmente":

$number = 1234567890; $sum = 0; do { $sum += $number % 10; } while ($number = (int) $number / 10);

Esto es en realidad más rápido que el método de Artefactos (al menos para 1234567890 ), porque guarda dos llamadas de función.


Otra forma, no tan rápida, no de una sola línea simple.

<?php $n = 123; $nstr = $n . ""; $sum = 0; for ($i = 0; $i < strlen($nstr); ++$i) { $sum += $nstr[$i]; } echo $sum; ?>

También asume que el número es positivo.


Prueba el siguiente código:

<?php $num = 525; $sum = 0; while ($num > 0) { $sum= $sum + ($num % 10); $num= $num / 10; } echo "Summation=" . $sum; ?>


Si está interesado con expresiones regulares:

array_sum(preg_split("//", $number));


Suponga que desea encontrar la suma de los dígitos de un número, digamos 2395, la solución más simple sería dividir primero los dígitos y descubrir la suma y luego concatenar todos los números en un solo número.

<?php $number=2; $number1=3; $number2=9; $number3=5; $combine=$number.$number1.$number2.$number3; $sum=$number+$number1+$number2+$number3; echo "The sum of $combine is $sum"; ?>


<?php echo"----Sum of digit using php----"; echo"<br/ >"; $num=98765; $sum=0; $rem=0; for($i=0;$i<=$num;$i++) { $rem=$num%10; $sum=$sum+$rem; $num=$num/10; } echo "The sum of digit 98765 is ".$sum; ?> -----------------Output------------- ----Sum of digit using php---- The sum of digit 98765 is 35


<html> <head> <title>detail</title> </head> <body> <?php $n = 123; $sum=0; $n1=0; for ($i =0; $i<=strlen($n);$i++) { $n1=$n%10; $sum += $n1; $n=$n/10; } echo $sum; ?> </body> </html>


// math before code // base of digit sums is 9 // the product of all numbers multiplied by 9 equals 9 as digit sum $nr = 58821.5712; // any number // Initiallization $d = array(); $d = explode(".",$nr); // cut decimal digits $fl = strlen($d[1]); // count decimal digits $pow = pow(10 ,$fl); // power up for integer $nr = $nr * $pow; // make float become integer // The Code $ds = $nr % 9; // modulo of 9 if($ds == 0) $ds=9; // cancel out zeros echo $ds;


array_sum(str_split($number));

Esto supone que el número es positivo (o, más exactamente, que la conversión de $number en una cadena genera solo dígitos).