如果php中的语句不符合我的预期

时间:2015-06-12 15:49:18

标签: php if-statement

我搜索了论坛,但仍无法找到这个问题的答案。我想根据发送到我的页面的内容产生不同的结果。代码如下:

$picture=$_GET['pic'];
echo "Picture ref= " . $picture . "<br>";
if ($picture="one"){
    echo "now on 1<br>";
    $image="tears-14.jpg";
    $picture="Tears";
    $orient="port";
}
elseif ($picture="two"){
    echo "now on 2<br>";
    $image="music-12.jpg";
    $picture="The Music Has Landed";
    $orient="land";
}
echo "Picture ref after processing: " . $picture . "<br>";

如果我使用http://www.???.com/art.php?pic=two作为网址,我会收到以下不正确的回复: 图片ref = 2 现在1 处理后的图片参考:泪水。

这意味着代码的行为不符合我的要求,因为我应该得到的结果是: 图片ref = 2 现在2 处理后的图片参考:音乐已登陆

我是新手,如果有人能指出可能是一个简单的错误,我会很感激。

如果您认为我在浪费您的时间,请多多谢意并道歉。

Tog Porter

2 个答案:

答案 0 :(得分:2)

使用==运算符检查值是否相等:

 $picture = $_GET['pic'];
    echo "Picture ref= " . $picture . "<br>";
    if ($picture == "one"){
        echo "now on 1<br>";
        $image="tears-14.jpg";
        $picture="Tears";
        $orient="port";
    }
    elseif ($picture == "two"){
        echo "now on 2<br>";
        $image="music-12.jpg";
        $picture="The Music Has Landed";
        $orient="land";
    }
    echo "Picture ref after processing: " . $picture . "<br>";

答案 1 :(得分:0)

因为您使用赋值运算符而不是比较运算符

=更改为==

这就是使用

的原因
if ("one" == $picture) {

而不是

if($picture = $one) {