有没有一种方法可以在PHP中不使用两个if语句来执行此检查?

有没有一种方法可以在PHP中不使用两个if语句来执行此检查?,php,file-exists,Php,File Exists,我有这个if语句 if(file_exists( $_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) && filemtime($_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) < $olddate) { 我知道我可以先做一个if,然后再做一个内部if,但有没有更好的方法?如果file\u exists返回false,那么filemtime调用就永远不会发生是一个短路逻辑AND,在PHP

我有这个if语句

if(file_exists( $_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) && filemtime($_SERVER{'DOCUMENT_ROOT'}.$writabledir.$name) < $olddate)  { 

我知道我可以先做一个if,然后再做一个内部if,但有没有更好的方法?

如果file\u exists返回false,那么filemtime调用就永远不会发生是一个短路逻辑AND,在PHP中,这意味着如果它不需要进行第二次调用,即逻辑语句的第一部分为false,那么整个语句不可能为true,它就不会。您的代码中可能还有其他奇怪的地方。

请看一看:答案在问题中。将文件名存储在临时变量中会更短、更复杂readable@Byron惠特洛克:我想你不懂短路。。
 Warning: filemtime(): stat failed for /User....