Подсчитать элементы подмассива ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Подсчитать элементы подмассива

Сообщение Anonymous »

В разделе «Возвращаемые значения для Count()»

Возвращает количество элементов в переменной var. Если var не является массивом или объектом с реализованным интерфейсом Countable, будет возвращено 1. Есть одно исключение: если var имеет значение NULL, будет возвращено 0.

У меня есть строка, заполненная буквами и цифрами, и я использую preg_match_all() для извлечения этих чисел. Насколько я помню, preg_match_all заполняет содержимое массива, заданного в третьем параметре, результатами. Почему он возвращает 1?
Что я делаю не так в своем коде?

Код: Выделить всё

$string = "9hsfgh563452";
preg_match_all("/[0-9]/",$string,$matches);

echo "Array size: " . count($matches).""; //Returns 1
echo "Array size: " . sizeof($matches).""; //Returns 1
print_r($matches);
Я хотел бы суммировать содержимое массива (то есть все числа, возвращаемые в строке). array_sum() не сработал; это строковый массив, и я не знаю, как преобразовать его в массив int, потому что я не использую никаких разделителей, таких как ' , ' и тому подобное. Есть ли более эффективный способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/159 ... a-subarray

Вернуться в «Php»