Извлечение чисел из строки и их суммирование в PHP

Чтобы извлечь числа из строки и затем суммировать их в PHP, вы можете использовать различные методы. Вот несколько подходов:

  1. Регулярные выражения.
    Регулярные выражения можно использовать для сопоставления и извлечения чисел из строки. Функцию preg_match_all можно использовать для поиска всех вхождений чисел в строку, а затем их суммировать. Вот пример:

    $string = "abc123def456ghi789";
    preg_match_all('/\d+/', $string, $matches);
    $numbers = $matches[0];
    $sum = array_sum($numbers);
    echo $sum;  // Output: 1368
  2. Разнесение и фильтрация.
    Другой метод — разбить строку на массив с использованием нечислового разделителя, а затем отфильтровать нечисловые элементы. Наконец, вы можете просуммировать оставшиеся числа. Вот пример:

    $string = "abc123def456ghi789";
    $parts = explode(' ', $string);
    $numbers = array_filter($parts, 'is_numeric');
    $sum = array_sum($numbers);
    echo $sum;  // Output: 1368
  3. Итерация и накопление.
    Вы можете перебирать каждый символ в строке, проверять, является ли это числом, и суммировать числа, чтобы получить сумму. Вот пример:

    $string = "abc123def456ghi789";
    $sum = 0;
    for ($i = 0; $i < strlen($string); $i++) {
       if (is_numeric($string[$i])) {
           $sum += intval($string[$i]);
       }
    }
    echo $sum;  // Output: 1368

Это всего лишь несколько методов извлечения чисел из строки и их суммирования в PHP. Выбор метода зависит от ваших конкретных требований и формата строки, с которой вы работаете.