Подтвердить что ты не робот

Получить сумму цифр в PHP

Как найти сумму всех цифр числа в PHP?

4b9b3361

Ответ 1

array_sum(str_split($number));

Это предполагает, что число положительно (или, точнее, преобразование $number в строку генерирует только цифры).

Ответ 2

Метод Artefactos, безусловно, непревзойден, но здесь версия, как можно было бы сделать это "вручную":

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

Это быстрее, чем метод Artefactos (по крайней мере, для 1234567890), поскольку он сохраняет два вызова функций.

Ответ 3

Другой способ, не так быстро, а не простая строка

<?php

    $n = 123;
    $nstr = $n . "";

    $sum = 0;
    for ($i = 0; $i < strlen($nstr); ++$i)
    {
        $sum += $nstr[$i];
    }
    echo $sum;

?>

Он также предполагает, что число положительно.

Ответ 4

Если вас интересует регулярное выражение:

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

Ответ 5

Предположим, что вы хотите найти сумму цифр числа, скажем, 2395, самым простым решением было бы сначала разделить цифры и выяснить сумму, а затем объединить все числа в одно число.

<?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";
     ?>

Ответ 6

<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>

Ответ 7

Вот код.. Пожалуйста, попробуйте это

   <?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";

   ?>

Ответ 8

Попробуйте использовать следующий код:

<?php

$num = 525;
$sum = 0;

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

?>