PHP比较字符串错误

时间:2014-07-12 06:12:13

标签: php string compare

我是PHP的初学者,我试图根据参数分离输入。以下是我的代码,但似乎我的$arg变量从未设置过。有人可以指出我的错误吗?

    $sender = $_GET['sender'];
    $receiver = $_GET['receiver'];
    $message = $_GET['message'];
    $temp = explode( '.', $message);
    $tempcnt = count($temp);
    echo $temp[$tempcnt - 1];
    if($tempcnt > 2)
    {
        if($temp[$tempcnt-1] === 'mp4')
            {$arg = 3;}
        elseif($temp[$tempcnt-1]==='jpg')
            {$arg = 2;}
        else
            {$arg = 1;}
    }
    echo "Value of arg is" . $arg;

我甚至在==中使用===strcmp以及if进行了尝试,但问题仍然存在。

3 个答案:

答案 0 :(得分:0)

试试这个:

<?php
$temp strrchr("foo.jpg",".");
if($temp==".mp4")
$arg = 3;
elseif($temp==".jpg")
$arg = 2;
else $arg = 1;
?>

答案 1 :(得分:0)

另请参阅其他答案,但未提及的一种可能性是=====以及strcmp都比较敏感。因此,他们找不到像.MP4这样的扩展程序。

在这种情况下,解决方案是使用strcasecmp

但是,首先要处理的问题是输出更多的诊断信息,以便您自己查看出现了什么问题。在此示例中,echo $tempcnt;在分配后,或else echo "did nothing"在外if {..}块之后。
这样你就能够遵循程序流程。

答案 2 :(得分:0)

问题是因为我没有意识到我已经比较了args&gt; 2.使它&gt; = 2并完成中提琴!! 感谢@barmar指出这一点!