Как я могу написать сокращенное выражение, которое проверяет целое число и возвращает целое число или ноль? - PullRequest
0 голосов
/ 19 февраля 2020

У меня должна быть переменная $id, содержащая либо целое число, либо значение null.

В настоящее время у меня есть это:

$id = $_POST['id'];
$id = filter_var($id, FILTER_VALIDATE_INT); //false or integer
if (!$id)
    $id = null;

Is есть более краткий способ написать это? Я надеюсь объединить 3 заявления в одну строку, если это возможно.

Ответы [ 2 ]

4 голосов
/ 19 февраля 2020

На самом деле есть FILTER_NULL_ON_FAILURE:

$id = filter_var($_POST['id'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
0 голосов
/ 19 февраля 2020

Я думаю, что вы ищете что-то вроде: $id = $id ?: null;

РЕДАКТИРОВАТЬ: Принимая предложение @ treyBake, ваш блок кода может быть превращен в одну строку, используя это: $id = filter_var($_POST['id'], FILTER_VALIDATE_INT) ?: null;

...