Php 用isset验证变量

Php 用isset验证变量,php,isset,Php,Isset,所以我正在读这本书,学习PHP。在其中一个练习中,我必须编写一个包含两个隐藏值的表单,然后编写一个“处理程序”,检查这些值是否已初始化 代码如下所示: $time = (!isset($_POST["time"])) ? NULL : $_POST["time"]; $user = (!isset($_POST["user"])) ? NULL : $_POST["user"]; 我的问题是,作者有什么理由建议!isset,与直线型isset?为什么不像下面这样呢 $t

所以我正在读这本书,学习PHP。在其中一个练习中,我必须编写一个包含两个隐藏值的表单,然后编写一个“处理程序”,检查这些值是否已初始化

代码如下所示:

    $time = (!isset($_POST["time"])) ? NULL : $_POST["time"];
    $user = (!isset($_POST["user"])) ? NULL : $_POST["user"];
我的问题是,作者有什么理由建议
!isset
,与直线型isset?为什么不像下面这样呢

    $time = (isset($_POST["time"])) ? $_POST["time"] : NULL;
    $user = (isset($_POST["user"])) ? $_POST["user"] : NULL;

谢谢!这两种方法的优缺点是什么

这可能是本书作者个人的偏好。没有技术上的理由这样或那样写。第二个版本更具可读性。删除
isset()
周围的括号,它们不是必需的。同意@axiac。正如你所建议的,我更喜欢在术语表中“检查是否为真”,但在其他情况下,这是非常常见和标准的“检查是否为假”来进行一些验证。例如:如果不是auth,则抛出异常…感谢各位的确认和提示@axiacIt可能是本书作者的个人偏好。没有技术上的理由这样或那样写。第二个版本更具可读性。删除
isset()
周围的括号,它们不是必需的。同意@axiac。正如你所建议的,我更喜欢在术语表中“检查是否为真”,但在其他情况下,这是非常常见和标准的“检查是否为假”来进行一些验证。例如:如果不进行身份验证,则抛出异常…感谢各位的确认和提示@axiac