【问题标题】:How can I write a short-hand expression that validates an integer, and returns an integer or a null?如何编写验证整数并返回整数或空值的简写表达式?
【发布时间】:2020-06-03 21:51:11
【问题描述】:

我需要最终得到一个变量 $id,其中包含一个整数或一个 null 值。

目前我有这个:

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

有没有更简洁的方法来写这个?如果可能的话,我希望将 3 个语句合并为一行。

【问题讨论】:

    标签: php php-7.2 code-readability


    【解决方案1】:

    其实有一个FILTER_NULL_ON_FAILURE

    $id = filter_var($_POST['id'], FILTER_VALIDATE_INT, FILTER_NULL_ON_FAILURE);
    

    【讨论】:

      【解决方案2】:

      我认为您正在寻找类似:$id = $id ?: null;

      编辑: 采用@treyBake 的建议,您的代码块可以使用以下代码变成一行: $id = filter_var($_POST['id'], FILTER_VALIDATE_INT) ?: null;

      【讨论】:

        猜你喜欢
        • 2013-07-09
        • 1970-01-01
        • 2018-02-25
        • 1970-01-01
        • 2019-04-24
        • 1970-01-01
        • 1970-01-01
        • 2019-01-28
        • 1970-01-01
        相关资源
        最近更新 更多