我有以下代碼:PHP包含與多個奇怪行爲包括
if (include_once(dirname(__FILE__).'/file.php')
|| include_once(dirname(__FILE__).'/local/file.php')
)
{
因爲PHP試圖包括"1"
(大概dirname(__FILE__).'/file.php' || dirname(__FILE__).'/local/file.php'
)
注出第二行使得這項工作作爲這將導致一個錯誤打算,除了它不會使用第二個文件的事實。我真的需要在這裏使用elseif
和代碼重複,還是有辦法讓這個工作?
$ PHP --version
PHP 5.2.6-3ubuntu4.2用了Suhosin貼片0.9.6.2(CLI)(建:2009年8月21日19點14分44秒)
版權所有(C)1997年 - 2008 PHP集團
Zend引擎V2.2.0,版權所有(C)1998-2008 Zend技術
這是......反直覺的,至少可以說。一千個關於PHP的'語言結構'的詛咒。 –
的確,但這是PHP的主要特徵之一:)。無論如何,我只是將語句的返回值賦給一些臨時變量,並將其用於'if'測試中。 –
好吧,我不禁要問:哪一個是PHP的主要特徵之一?是違反直覺的,還是使用語言結構而不是實際的功能? –