संख्या के अंकों का योग
उदाहरण
<?php
function sum_of_digits($my_num) {
$sum = 0;
for ($i = 0; $i < strlen($my_num); $i++) {
$sum += $my_num[$i];
}
return $sum;
}
$my_num = "65";
print_r("The sum of digits is ");
echo sum_of_digits($my_num);
?>
आउटपुट
The sum of digits is 11
कोड व्याख्या
- इनपुट स्ट्रिंग के रूप में लिया जाता है ("65")
- स्ट्रिंग के प्रत्येक कैरेक्टर (अंक) पर लूप
- PHP में स्ट्रिंग को एरे की तरह एक्सेस करने पर कैरेक्टर मिलता है
$my_num[$i] स्ट्रिंग कैरेक्टर देता है, जो ऑटोमैटिकली इंटीजर में कन्वर्ट हो जाता है जब जोड़ा जाता है
- 6 + 5 = 11
सुधारा गया संस्करण (इंटीजर इनपुट के लिए)
<?php
function sumOfDigits(int $num): int {
$sum = 0;
$num = abs($num); // नेगेटिव हैंडल करें
while ($num > 0) {
$sum += $num % 10;
$num = (int)($num / 10);
}
return $sum;
}
echo sumOfDigits(65); // 11
echo sumOfDigits(-123); // 6
echo sumOfDigits(0); // 0
?>
स्ट्रिंग-आधारित संस्करण (बड़ी संख्याओं के लिए)
<?php
function sumOfDigitsString(string $numStr): int {
$sum = 0;
for ($i = 0; $i < strlen($numStr); $i++) {
$char = $numStr[$i];
if (ctype_digit($char)) {
$sum += (int)$char;
}
}
return $sum;
}
echo sumOfDigitsString("12345678901234567890"); // बड़ी संख्या
?>
array_sum विकल्प
<?php
$num = "65";
$sum = array_sum(str_split($num));
echo $sum; // 11
?>