tim*_*son 7 php fopen if-statement exit
看到exit() PHP文档让我思考:
$filename = '/path/to/data-file';
$file = fopen($filename, 'r')
or exit("unable to open file ($filename)");
Run Code Online (Sandbox Code Playgroud)
情侣问题:
exit()?exit(),你怎么知道在某些情况下使用它而不是其他?if/else和or/exit互换?在这种情况下,orin 该语句是 PHP 的逻辑运算符之一,当且仅当第一个语句由于短路评估而失败时,才会执行第二个语句。
由于fopen返回 false,该or exit语句将在第一部分失败后执行。
为了更好地理解它,这里对短路评估进行快速解释。
$x = 5;
$y = 42;
if ($x == 5 or $y == 42) {
echo "x or y is true";
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,表达式$y == 42永远不会被计算,因为没有必要,因为第一个表达式为真。
在该示例中,他们使用相同的逻辑来决定是否评估调用的语句exit。
解决您的问题:
exit完全取决于您正在编写的代码。 or exit只比 using 短一点if/else。希望有帮助。