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

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

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

    <!—

    Аргумент функции inval() Значение функции inval()
    52 52
    -52 -52
    5.2 5
    5.8 5
    '52' 52
    array() (пустой массив) 0
    array('n',9) (непустой массив) 1
    Нельзя использовать с объектами.

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

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

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

    <!—

    Аргумент функции abs() Значение функции abs()
    52 52
    -52 52
    0 0

    —>

На самом деле 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

Источник: misha.blog

Миша Рудрастых

Путешествует по миру и рассказывает всем о WordPress лично, у себя в блогах и на курсах в Санкт-Петербурге. Умеет просто объяснять сложные вещи, делает это красиво. Организовывает неплохие WordCamp's, но совсем не умеет слушать чужие доклады.

Добавить комментарий

%d такие блоггеры, как: