試試這個
<?php
$fruit = array('a' => "apple", 'b' => "banana", 'c' => "cranberry");
reset($fruit);
foreach($fruit as $key => $val)
{
if(($key=='a' && $val=="apple") || ($key=='b' && $val=="banana"))
{
echo "apple and banana";
}
}
?>
正如其他人所說的,當你寫PHP,你不應該圍繞西吉特($)用引號。
其他然後修復這個問題,我注意到另一個問題。當循環訪問數組時,$key
變量一次只能處理一個元素。爲了讓你的程序,如果條件是真實的,你需要$關鍵變量有在同一時間兩個值:
if(($key=="a" && $val=="apple") && ($key=="b" && $val=="banana"))
通知的&&
。你在說$key
必須同時等於「a」和「b」。 $ val同時也必須等於「apple」和「banana」。這種情況是不可能的。
想想這樣。變量是你的手。你的手每次只能容納一件東西。 $key
是你的左手,而$val
是你的權利。如果我告訴你,如果你左手拿兩件東西,右手拿兩件東西,那麼你只能進入我的房間,你會對我說,那是不可能的!我只能左手拿一件東西,而右手只能拿一件東西。這是一個愚蠢的比喻,但也許會有所幫助。
無論如何,這就是爲什麼我將&&
更改爲||
。在我的代碼中,您可能會注意到我如何將數組標識符(a
,b
,c
)從單引號括起來變成雙引號。這只是我的風格。我喜歡這樣做。
無論如何,我希望這有助於。對不起,如果有拼寫錯誤,我很匆忙,不得不去。
這是什麼\'$ \'? – AbraCadaver
你可以通過編寫有效的PHP語法來修復它,而不是在反引號('\'') –
中包裝每一個'$'是的不知道爲什麼你要在所有地方使用反引號 – dbmitch