На самом деле эта функция, вордпрессовская, состоит из двух функций, PHP — intval() и abs(). Вот как это работает:
- Сперва значение, которое вы передаёте в
absint(), отправляется в функциюintval(), задачей которой является получение целого числа из числового/строкового значения, которое вы в неё отправили. Чтобы всё было понятно, приведу небольшую таблицу примеров:<!—
Аргумент функции inval()Значение функции inval()52 52 -52 -52 5.2 5 5.8 5 '52' 52 array()(пустой массив)0 array('n',9)(непустой массив)1 Нельзя использовать с объектами. —>
Как видите, функция не округляет числа до целого в большую или меньшую сторону — она просто отсекает дробную часть.Кроме того, функция позволяет вторым аргументом указывать систему счисления, но так как сейчас мы рассматриваем
inval()именно в составе функции WPabsint(), то о системах счисления говорить не будем. - Затем к результату применяется функция
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

