试试这个
<?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