PHP - 为什么要|| OR返回1时返回值?

时间:2017-09-14 22:19:47

标签: php

我正在从客户端向服务器发送POST请求,并在服务器上获取值,如下所示:

$fileName = filter_input(INPUT_POST, "fileName", FILTER_SANITIZE_FULL_SPECIAL_CHARS) or exit("No Filename");
exit($fileName);

示例输出:'vacation_photo.jpg'

这很好,但是,如果我将or替换为||,那么我会将 1 作为输出。

输出:'1'

我正在阅读this article,但我仍然没有得到它。

1 个答案:

答案 0 :(得分:1)

||or具有不同的优先级。见operator precedence。如果用圆括号清楚表明你会得到:

fileName = (filter || exit)
(fileName = filter) OR exit

然后第二行的出口将true打印为1。