2017-09-14 83 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