Проверяем, что строковая переменная содержит целое положительное число

Предположим, что у нас есть переменная и мы знаем, что она является строкой. Нам надо проверить, что она содержит целое положительное число.

Скопировано
if( ctype_digit( $a ) && $a > 0 ) {
// переменная $a является целым положительным числом
}
Показать код

Важно, чтобы исходная переменная была именно строкового типа, а не числового. В противном случае код будет работать с ошибками.

Примеры проверки:

'1'    - true
' 1'   - false
'1 '   - false
'0'    - false
'-5'   - false
'abc'  - false
'true' - false
''     - false