w3resource

PHP Exercises: Sum of all numerical values embedded in a sentence

PHP: Exercise-69 with Solution

Write a PHP program to sum of all numerical values (positive integers) embedded in a sentence.
Sentences with positive integers are given over multiple lines. Each line is a character string containing one-byte alphanumeric characters, symbols, spaces, or an empty line. However the input is 80 characters or less per line and the sum is 10,000 or less.

Sample Solution:

PHP Code:

<?php
// Initialize a variable to store the sum of numeric values
$sum = 0;

// Read a line of input and remove trailing whitespaces
$s = rtrim(fgets(STDIN));

// Use a regular expression to find all numeric values in the input string
if (preg_match_all('/[0-9]+/', $s, $a)) {
    // Iterate through the matched numeric values and add them to the sum
    foreach ($a[0] as $v) {
        $sum += (int) $v;
    }
}

// Output the sum of the numeric values
echo "Sum of the numeric values: " . $sum . PHP_EOL;

?>

Explanation:

  • Initialize Sum Variable:
    • $sum is set to 0 to store the sum of numeric values found in the input.
  • Read Input and Remove Trailing Whitespaces:
    • A line of input is read from standard input, and rtrim removes any trailing whitespaces.
  • Extract Numeric Values Using Regular Expression:
    • preg_match_all('/[0-9]+/', $s, $a) is used to find all sequences of digits in the input string $s.
    • If any numeric values are found, they are stored in $a[0].
  • Calculate Sum of Numeric Values:
    • Each numeric value in $a[0] is converted to an integer and added to $sum.
  • Output the Sum:
    • The final sum of all numeric values in the input is printed, prefixed with "Sum of the numeric values:".

Sample Input:
5 apple and 10 orange are rotten in the basket

Sample Output:

Sum of the numeric values: 15

Flowchart:

Flowchart: Sum of all numerical values embedded in a sentence.

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP program to test whether AB and CD are orthogonal or not.
Next: Write a PHP program to find the customer number that has traded for the second consecutive for the second consecutive month from last month and the number of transactions.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/php-exercises/php-basic-exercise-69.php