0

我从来都不擅长使用循环。我有以下问题:

当我执行下面的代码时,我收到此错误消息:"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);
?>

对困惑感到抱歉。我编辑了我的问题并添加了完整的代码。

4

3 回答 3

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);
?>
于 2013-03-29T21:02:57.337 回答
1

>在第 8 行,在和之间有一个不间断的空格,而不是通常的空格$test。用通常的空格替换它就可以了。使用像PsPad这样的高级文本编辑器,它提供了查看不可打印字符而不是记事本的可能性 :)

于 2013-03-29T21:06:34.773 回答
1

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

有隐藏Â字符:)

在此处输入图像描述

于 2013-03-29T21:12:22.503 回答