2017-09-14 49 views
0

我发送POST请求从我的客户机到服务器和这样的服务器上获取的值:PHP - 为什么|| OR返回值时返回1吗?

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

输出示例:“vacation_photo.jpg”

这正常不过, ,如果我用||代替or,那么我得到作为输出。

输出: '1'

我读this article,但我还是不明白这一点。

+0

这是关于优先http://php.net/manual/en/language。 operators.logical.php – Qirel

回答

1

||or具有不同的优先顺序。见operator precedence。如果使其与括号清楚你会得到:

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

然后在第二行退出打印真正为1