PHP条件语法:function ==结果或函数

时间:2014-05-23 22:13:11

标签: php syntax conditional conditional-statements syntactic-sugar

我最近在PHP脚本中遇到过这个问题:

fseek($gi->filehandle, $gi->record_length, SEEK_SET) == 0 or die("fseek failed");

我想知道的是,这是否比我认为更传统的语法更好:

$seek = fseek($gi->filehandle, $gi->record_length, SEEK_SET);
if ($seek !==0) {
    die("fseek failed");
}

第一种方法避免将fseek的结果赋给变量,但这真的很重要吗?第一种方法是否能更好地保持内存不足? (对于返回小整数的函数而言,这并不重要。)

感谢您的投入。

1 个答案:

答案 0 :(得分:2)

我相信这些没有区别。

除此之外:

  • 在第一个代码示例中,您最好使用=== 0而不是== 0
  • 在第二个代码示例中,您创建了一个小而无用的变量,但我想它不会造成任何伤害。

如果您愿意,也可以这样写:

if (fseek($gi->filehandle, $gi->record_length, SEEK_SET) !== 0) {
    die("fseek failed");
}

最重要的是代码的一致性。如果您在代码中使用if s,则始终使用if。如果你喜欢简短的语法,那么在它可能的时候总是使用它。不要混合两者,否则你的代码将变得不那么可读。