Loading...
PHP/MySQL | intval
shadrvlad, так я про то и говорю )
shadrvlad (15.01.2016 в 10:50)
Вилы_Выкидные, 8 значная система счисления Гг


в смысле '42' в кавычках считается строкой и тогда применяется аргумент 8 ?
Вилы_Выкидные,
Возвращает integer-значение переменной var, используя для конвертации специфицированную базу/base (по умолчанию base равна 10).

base = 10 десятизначная система, 8 - восьмеричная, 16 - шестнадцатеричная

Целые числа (Integer)

Целое - это число из множества Z = {..., -2, -1, 0, 1, 2, ...}, обычно длиной 32 бита (от –2 147 483 648 до 2 147 483 647).

Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию, с предшествующим знаком (- или +).
shadrvlad (15.01.2016 в 11:08)
Вилы_Выкидные, Возвращает integer-значение переменной var, используя для конвертации специфицированную базу/base (по умолчанию base равна 10).
base = 10 десятизначная система, 8 - восьмеричная, 16 - шестнадцатеричная

Целые числа (Integer)

Целое - это число из множества Z = {..., -2, -1, 0, 1, 2, ...}, обычно длиной 32 бита (от –2 147 483 648 до 2 147 483 647).

Целые могут быть указаны в десятичной, шестнадцатеричной или восьмеричной системе счисления, по желанию, с предшествующим знаком (- или +).


echo intval(42, 8); выведет 42

echo intval('42', 8); выведет 34

то есть аргумент base применён к '42' как к строке а в случае с 42 не применяется вообще?
Вилы_Выкидные,
Примечание: аргумент base для intval() не имеет эффекта, если только аргумент var не является строкой.

короче base указывает в какой системе счисления задается входящая строка, выходящяя строка всегда в десятеричной, если строка сразу является числом - она и остается в десятеричной системе
Вилы_Выкидные, echo intval('48',8); выведет 4, потому что в восьмеричной системе используются цифры от 0 до 7
shadrvlad (15.01.2016 в 11:14)
Вилы_Выкидные, Примечание: аргумент base для intval() не имеет эффекта, если только аргумент var не является строкой.
короче base указывает в какой системе счисления задается входящая строка, выходящяя строка всегда в десятеричной, если строка сразу является числом - она и остается в десятеричной системе


во-во я это и уточняю, то есть прописывать аргумент для чисто числа и не обязательно

и ещё не понятно в случае с фильтрацией числа, зачем его фильтровать intval, если можно проверить is_numeric и в случае не числа уходить на ошибку?
Вилы_Выкидные, аргумент base прописывать если входную строку нужно перевести из 8,16-ричной системы счисления в 10-ричную.
Иногда смысла нету выходить на ошибку, если можно через intval отбросить все что после числа и продолжить работу Гг
shadrvlad (15.01.2016 в 11:23)
Вилы_Выкидные, аргумент base прописывать если входную строку нужно перевести из 8,16-ричной системы счисления в 10-ричную.
Иногда смысла нету выходить на ошибку, если можно через intval отбросить все что после числа и продолжить работу Гг


ok )
Вилы_Выкидные, и is_numeric проверяет на любую числовую строку, может быть и дробное, и в любой системе счисления, а intval выдает только целое число в 10-ричной системе
Онлайн: 0
Время:
Gen. 0.1019
(c) Bym.Guru 2010-2025