PHP中的foreach循环中的变量

时间:2013-03-29 20:35:34

标签: php loops

我从未擅长使用循环。我有以下问题:

当我执行下面的代码时,收到此错误消息:"Parse error: syntax error, unexpected T_VARIABLE in XXXXXXXXX on line 8"。我只是想给数组中的每个元素一个“等级”来判断它的值有多高。

    <?
    $input = array( 12413535, 13452465246, -13451, 8);
    $input_size = count($input);
    $var_rating = array ();
    foreach ($input as $value) {
        $var_rating[$value] = 0;
        foreach ($input as $test) {
            if ($value > $test) {
                $var_rating[$value] = $var_rating[$value] + 1;
            }
            else {}
        }
    }

    var_dump($var_rating);
?>

很抱歉这个混乱。我编辑了我的问题,并添加了完整的代码。

3 个答案:

答案 0 :(得分:2)

看起来你的代码不起作用的罪魁祸首是在第8行复制隐藏的隐藏字符,就在$test变量之前。删除“空格”和>符号,并重新输入两者都可以解决您的问题。

<?php
    $input = array( 12413535, 13452465246, -13451, 8);
    $input_size = count($input);
    $var_rating = array ();
    foreach ($input as $value) {
        $var_rating[$value] = 0;
        foreach ($input as $test) {
            if ($value > $test) {
                     // ^  right here there is a hidden character, remove it and the code works fine
                $var_rating[$value] = $var_rating[$value] + 1;
            }
            else {}
        }
    }

    var_dump($var_rating);
?>

答案 1 :(得分:1)

{8}在>$test之间,你有一个不间断的空间,而不是第8行的常用空格。 用通常的空间来代替它,它会很好。 使用像PsPad这样的高级文本编辑器,可以查看不可打印的字符而不是记事本:)

答案 2 :(得分:1)

这只是为了更好地显示此错误的原因,我使用Frhed

隐藏Â个字符:)

enter image description here