Я искал быструю функцию PHP, которая, учитывая строку, подсчитывала количество числовых символов (например, цифр) в этой строке. Я не мог найти его, есть ли функция для этого?Функция для подсчета числа цифр в строке
ответ
Этого можно легко достичь с помощью регулярного выражения.
function countDigits($str)
{
return preg_match_all("/[0-9]/", $str);
}
Функция возвращает количество раз, когда шаблон был найден, что в данном случае является любой цифрой.
Эта функция проходит через заданную строку и проверяет каждый символ, чтобы увидеть, является ли оно числовым. Если это так, он увеличивает количество цифр, а затем возвращает их в конце.
function countDigits($str) {
$noDigits=0;
for ($i=0;$i<strlen($str);$i++) {
if (is_numeric($str{$i})) $noDigits++;
}
return $noDigits;
}
первый split your string, следующий filter результат до only include numeric символов, а затем просто count полученных элементов.
<?php
$text="12aap33";
print count(array_filter(str_split($text),'is_numeric'));
изменения: добавлен тест из любопытства: (петля из выше 1000000. строки и подпрограмм)
preg_based.php является preg_match_all раствор overv в
[email protected]_Gate:~$ time php filter_based.php
real 0m20.147s
user 0m15.545s
sys 0m3.956s
[email protected]_Gate:~$ time php preg_based.php
real 0m9.832s
user 0m8.313s
sys 0m1.224s
регулярное выражение явно выше. :)
Спасибо, что запустили цифры (каламбур) на этом. –
поддерживается для запуска чисел. – Lizardx
< Для PHP 5.4:
function countDigits($str)
{
return count(preg_grep('~^[0-9]$~', str_split($str)));
}
- 1. функция подсчета числа в строке
- 2. Рекурсивная функция для подсчета делимых цифр в C
- 3. Функция подсчета гласных в строке
- 4. функция для возврата младших значащих цифр числа
- 5. Regex Для подсчета цифр в буквенно-цифровой строке
- 6. Поиск наибольшего целого числа в строке цифр
- 7. совпадение числа цифр в строке после пробела
- 8. функция для подсчета цифр и символов в строке в Matlab R2015
- 9. Функция подсчета числа в SQL не работает
- 10. C++: функция подсчета только в первой строке
- 11. Регулярное выражение для ограничения числа цифр в строке
- 12. Функция для подсчета выражения
- 13. Регулярное выражение для подсчета числа шаблонов в строке
- 14. Регулярное выражение для подсчета числа пар в строке
- 15. Функция подсчета количества разных символов в строке
- 16. StackOverflow во время подсчета цифр
- 17. Функция Javascript для преобразования числа в число X только цифр
- 18. Поиск цифр в строке
- 19. Функция подсчета числа SQL по столбцу
- 20. SQL-функция для подсчета данных
- 21. Реальные приложения времени для подсчета числа
- 22. Рекурсивная функция для проверки цифр
- 23. Функция для подсчета всех символов в строке - C++
- 24. Функция C++ для подсчета всех слов в строке
- 25. C++ программа для цифр числа
- 26. Поиск ошибки в цикле подсчета цифр
- 27. лямбда-функция для подсчета числа устройств, связанных с пользователем
- 28. функция MYSQL для подсчета числа последнего продолжает дата
- 29. Функция для подсчета числа простых чисел между двумя номерами
- 30. Замена цифр в строке C#
Это даже лучше :) –
заметьте, что третий параметр только не является обязательным, так как 5.4, так чтобы быть уверенным, лучше добавить значение получить матчи. см. http://www.php.net/manual/en/function.preg-match-all.php –
Как я могу сделать, если только хочу посчитать много раз, повторяется число 4? – ras212