PHP Post param преобразуется в ноль при использовании в int o intval [duplicate]

Что касается библиотек, использующих его, всегда есть Functional .

Когда это полезно в JS? Вероятно, в то же время он полезен и на других современных языках, но единственный раз, когда я могу его использовать, связан с частичным применением.

17
задан Templar 13 December 2012 в 05:21
поделиться

4 ответа

// convert the $_POST['a'] to integer if it's valid, or default to 0
$int = (is_numeric($_POST['a']) ? (int)$_POST['a'] : 0);

Вы можете использовать is_numeric для проверки, а php также допускает листинг для типа integer .

Для фактических сравнений вы можете выполнить is_int .

Обновить

Версия 5.2 имеет filter_input , которая может быть немного более надежной для этого типа данных ( и другие):

$int = filter_input(INPUT_POST, 'a', FILTER_VALIDATE_INT);

Я выбрал FILTER_VALIDATE_INT, но есть также FILTER_SANITIZE_NUMBER_INT и намного больше - это просто зависит от того, что вы хотите сделать.

23
ответ дан Brad Christie 26 August 2018 в 01:02
поделиться

Отправка по каналу через HTTP, все - это строка. Вы должны решить, что «1» должен быть 1.

15
ответ дан jpsimons 26 August 2018 в 01:02
поделиться

Нет. HTTP использует только текст (или двоичные файлы).

Вы должны его преобразовать.

4
ответ дан Quentin 26 August 2018 в 01:02
поделиться

Я бы использовал (int)$_POST['a'], чтобы преобразовать его в целое число.

0
ответ дан rink.attendant.6 26 August 2018 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: