duan20145
2014-05-23 22:13
浏览 55
已采纳

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

I recently came across this in a PHP script:

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

What I'm wondering, is if this is somehow better than what I would consider to be a more traditional syntax:

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

The first method avoids assigning the results of fseek to a variable, but does that really matter? Does the first method do a better job keeping things out of memory? (Not that that would matter for a function that returns a small integer.)

Thanks for the input.

图片转代码服务由CSDN问答提供 功能建议

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

   fseek($ gi-> filehandle,$ gi-> record_length,SEEK_SET)== 0或死(“fseek failed”); 
   
 
 

我是什么 我想知道,如果这比我认为更传统的语法更好:

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

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

感谢您输入。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duangai1916 2014-05-23 22:19
    已采纳

    I believe there are no difference in these.

    Except that:

    • in first code sample you better use === 0 not == 0
    • in second code sample you create one small and useless variable, but I guess it doesn't do any harm.

    You can also write like this if you prefer:

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

    Most important is consistency in your code. If you use ifs in such cases in your code, then use ifs always. If you like short syntax, then use it always when it's possible. Don't make mix of both or your code will become less readable.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题