【问题标题】:IF condition doesn't work as expectedIF 条件未按预期工作
【发布时间】:2015-04-21 02:10:27
【问题描述】:

这个 php 代码的小问题:

$good = "<img src=./images/good.gif>";
$bad = "<img src=./images/bad.gif>";
while ($muuttuja <= $filecount) {
    $muuttuja = $muuttuja + 1;
    $arvostelutiedosto = "./moviefiles/$movie/review" . $muuttuja . ".txt";
    if (file_exists($arvostelutiedosto)) {
        $arvostelu = file($arvostelutiedosto);
        list($teksti[$muuttuja], $arvio[$muuttuja], $tekija[$muuttuja], $tyopaikka[$muuttuja]) = $arvostelu;
    }

        if ($arvio[$muuttuja] === "bad") {
            $arvio[$muuttuja] = $bad;
        } else {
            $arvio[$muuttuja] = $good;
        }

}

<?= $arvio[1] ?>
<?= $arvio[2] ?>
etc

我在上面确定的那个路径中有文件。该文件的第二行是“坏”或“好”。我想将它与“坏”进行比较,如果它是真的,则打印一个特定的图像(由 $bad 和 $good 确定),如果它是假的,则打印第二个。我在哪里有错误(我的意思是为什么它不起作用)?现在它为每个“评论”打印相同的图像

var_dump($arvio[$muuttuja]) 给出输出字符串(28)"image"

var_dump($arvostelu) 给出输出数组(4) {[0]}=> string(4) "test" [1]=> string(4) "bad" [2]=> string(7) "测试" [3]=> 字符串(1) "a"}

字符串 1 与 if ($arvio[$muuttuja] === "bad") 中的相同

【问题讨论】:

  • Where do i have error? 是什么意思。如果有任何错误,PHP 会在浏览器或 php_error_log 中显示错误。您需要检查并发布您面临的错误类型。顺便问一下,你在哪里声明了$bad$good 变量?
  • $good = ""; $bad = "";上面那个代码是确定的。我将编辑问题。错误是我的意思是为什么它不起作用。
  • 使用 var_dump($arvio[$muuttuja]); 的输出编辑您的帖子;
  • 将输出添加到原始帖子
  • 我认为你的错误来自你的代码

标签: php arrays string variables if-statement


【解决方案1】:

我不完全确定问题出在哪里,但你可以试试这个而不是 if then else?

$arvio[$muuttuja] = ( strtolower(  trim( $arvio[$muuttuja] ) ) )==='bad' ? $bad : $good;

也许在检查文件存在之后你应该使用:-

clearstatcache()

【讨论】:

    【解决方案2】:

    你说:

    var_dump($arvostelu) gives output array(4) {[0]}=> string(4) "test" [1]=> string(4) "bad" [2]=> string(7) "testing" [3]=> string(1) "a"}
    
    string 1 is same as in if ($arvio[$muuttuja] === "bad")
    

    但不是真的,请看:

    [1]=> string(4) "bad"
    

    不好有 3 个字符而不是 4 个字符,请尝试:

    if(trim($arvio[$muuttuja]) == 'bad')
    

    【讨论】:

    • 谢谢你,很棒的帮助 :) 是否应该几乎总是在比较字符串时使用 trim?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-26
    • 1970-01-01
    相关资源
    最近更新 更多