absint() — преобразует число, строку или массив в неотрицательное целое числовое значение

На самом деле эта функция, вордпрессовская, состоит из двух функций, PHP — intval() и abs(). Вот как это работает:

  1. Сперва значение, которое вы передаёте в absint(), отправляется в функцию intval(), задачей которой является получение целого числа из числового/строкового значения, которое вы в неё отправили. Чтобы всё было понятно, приведу небольшую таблицу примеров:
    таблица значений функции intval()


    Как видите, функция не округляет числа до целого в большую или меньшую сторону — она просто отсекает дробную часть.

    Кроме того, функция позволяет вторым аргументом указывать систему счисления, но так как сейчас мы рассматриваем inval() именно в составе функции WP absint(), то о системах счисления говорить не будем.

  2. Затем к результату применяется функция abs(), которая возвращает абсолютное значение числа, короче говоря находит его модуль. Для тех, у кого с математикой были некоторые трудности (или просто память подводит), вот небольшая таблица значений:
    таблица значений функции abs()

На самом деле absint( параметр ) является полным аналогом: abs( intval( параметр ), то есть она не содержит каких-либо фильтров, хуков или дополнительных функций или вычислений.

По документации:

absint( $maybeint )
$maybeint
(строка|целое число|массив) (параметр обязателен)

Примеры использования absint() на практике

Собственно, вот несколько примеров:

// ну с нулем я думаю всё понятно
echo absint( 0 ); // 0
// отрицательные числа в итоге становятся положительными
echo absint( -572 ); // 572
// строковые переменные становятся числовыми
echo absint( '152' ); // 152
// у дробных чисел отсекается дробная часть, то есть всё, что идет после запятой(точки)
echo absint( 7.9 ); // 7
// пустые массивы будут возвращать 0, не пустые - единицу
echo absint( array( 100 ) ); // 1

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Миша: Добрый день! В принципе вам только немного нужно доработать код из этого поста - категории уже есть, цена - это и так...

  • eveniy: Добрый день Михаил, подскажите на примере как добавить свои произвольные поля в в вашу форму фильтрации: Я так понимаю...

  • Миша: Отлично! )

  • Дмитрий: сам разобрался: в настройках кастомного типа записи недавно оптимизировал настройки и переоптимизировал: в аргументе 'ta...

  • Дмитрий: У меня по какой-то причине пропало отображение (как в колонке меню слева, так и метабокс в записях ) раздела рубрик для...