如何编写验证整数的简写表达式,以及 returns 整数或空值?
How can I write a short-hand expression that validates an integer, and returns an integer or a null?
我需要以一个包含整数或 null
值的变量 $id
结束。
目前我有这个:
$id = $_POST['id'];
$id = filter_var($id, FILTER_VALIDATE_INT); //false or integer
if (!$id)
$id = null;
有没有更简洁的写法?如果可能的话,我希望将 3 个语句合并为一行。
我想你正在寻找类似的东西:$id = $id ?: null;
编辑:
采纳@treyBake 的建议,您的代码块可以使用以下代码变成一行:
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT) ?: null;
其实有一个FILTER_NULL_ON_FAILURE
:
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
我需要以一个包含整数或 null
值的变量 $id
结束。
目前我有这个:
$id = $_POST['id'];
$id = filter_var($id, FILTER_VALIDATE_INT); //false or integer
if (!$id)
$id = null;
有没有更简洁的写法?如果可能的话,我希望将 3 个语句合并为一行。
我想你正在寻找类似的东西:$id = $id ?: null;
编辑:
采纳@treyBake 的建议,您的代码块可以使用以下代码变成一行:
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT) ?: null;
其实有一个FILTER_NULL_ON_FAILURE
:
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);