我从未擅长使用循环。我有以下问题:
当我执行下面的代码时,收到此错误消息:"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);
?>
很抱歉这个混乱。我编辑了我的问题,并添加了完整的代码。
答案 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)