Используйте функцию wp_title () для отображения или получения заголовка страницы для всех областей сайта.
is_numeric, intval, и ctype_digit все делают совсем другие вещи.
is_numeric скажет Вам, если содержание переменной будет числовым (т.е. верным, если это - значение с плавающей точкой или целочисленное значение).
intval пытается преобразовать строку чисел к целочисленному значению
ctype_digit скажет Вам, если строка будет содержать только цифровые символы (то выполнит ту же проверку как Вы функция isNum).
лучший подход должен, вероятно, проверить, верен ли is_numeric, и затем используйте что-то вроде settype ($myvalue, 'целое число') или intval ($myvalue);
Вы назвали два вида функций:
Блок проверки допустимости проверяет, имеет ли данное значение данные характеристики и возвращает любой TRUE или FALSE.
is_numeric
, ctype_*
функции и Ваш isNum
функция проверяет функции, как они просто говорят Вам, если значение допустимо или нет.
Фильтр изменяет данное значение таким способом, которым новое значение имеет данные характеристики и таким образом будет допустимо.
intval
и filter_*
функции фильтруют функции, поскольку они всегда будут возвращать допустимые значения, которые передали бы блок проверки допустимости.
Можно также использовать новые функции фильтра.
if (!$var = filter_var($var, FILTER_VALIDATE_INT)) {
die('Not an int!');
}
echo "Var has the value $var.\n";
Лучше всего используемый, когда вход фильтрации от cli, веб-клиента, и т.д. Список фильтров здесь.
Я не уверен, почему Вы просто не использовали бы intval. Ваш regex даже не составляет отрицательные числа, в конце концов, в то время как intval будет (хотя, возможно, это - то, для чего Вы идете?).
Или даже просто бросив к интервалу, который избегает некоторых тайных "глюков" с плавающей точкой, которые могут красться с intval.
Я не эксперт по PHP, но имею Вас рассмотренный записью управляемого данными модульного теста для получения конкретного понимания тех функций. Если Вы не уверены в их надежности, и документация неясна, то ничто не бьет модульный тест, который может протестировать 1000-е перестановок и их ожидаемого вывода.
Вы действительно не должны даже идти, что далеко, поскольку я предполагаю, что Вы только хотите протестировать некоторые специальные пограничные случаи. Ваши навыки программирования и компилятор являются Вашим лучшим другом здесь. Программа, которую Вы пишете, или подтвердит или отклонит Ваши подозрения.
Кроме того, для добавления премии, можно контролировать, сколько времени каждый метод берет, и посмотрите, который более производителен.
Просто мысль.
Следуйте документам. is_numeric
всегда будет доступно и просто проверяет это, у Вас есть строка, которую мог считать числом PHP. ctype_*
функции являются немного более узкими в объеме, но должны также всегда быть доступными.
RegEx, IMO, излишество для таких проверок.