PHP:为什么我得到这个错误? “语法错误,意外‘{’”

问题描述:

我想这个数组元素assending顺序排列,并写了下面的代码:PHP:为什么我得到这个错误? “语法错误,意外‘{’”

<?php 
    $a=array("z","s","a","j","t","b"); 
    for($i=0;$i<=6;$i++) 
    { 
    if ($i[0]<$i[1]) { echo $i[1]; } 
    else if ($i[1]<$i[2]) { echo $i[2]; } 
    else if ($i[2]<$i[3]) { echo $i[3]; } 
    else if ($i[3]<$i[4]) { echo $i[4]; } 
    else if ($i[4]<$i[5]) { echo $i[5]; } 
    else if ($i[5]<$i[6]) { echo $i[6]; } 
    else if ($i[6]<$i[7]) { echo $i[7]; } 
    else if ($i[7]<$i[8]) { echo $i[8]; } 
    else if ($i[8]<$i[9]) { echo $i[9]; } 
    else if ($i[9]<$i[10]) { echo $i[10]; } 
    else if ($i[10]<$i[11]) { echo $i[11]; } 
    else ($i[11]<$i[12]) { echo $i[12]; } 

} 

?> 

,但我一收到以下错误:

解析错误:语法错误,意外 '{' 在C:\ WAMP \ WWW \ arange.php第16行

我怎样才能纠正它

这个片段的问题是:

else ($i[11]<$i[12]) { echo $i[12]; } 

请将其编辑为elseif或删除($i[11]<$i[12])

+0

感谢我得到它,但现在我没有得到任何输出 – ravi 2011-05-27 18:42:46

+0

+1良好的渔获物,它是无形的第一眼! @ravi:或者写更少的代码,减少错误; – 2011-05-27 18:43:37

+0

是的,必须仔细查看。 :) @ravi,我也没有,但错误消失了。正如其他答案中所建议的,你应该看看PHP的'sort'函数。 – smottt 2011-05-27 18:45:44

$b = ''; 
$a=array("z","s","a","j","t","b"); 
foreach($a as $i) if($i > $b) $b = $i; 
echo $b; 

我会做不同的。考虑使用PHP内置的sort()函数。

$a = array("z","s","a","j","t","b"); 
sort($a); 
foreach ($a as $element) { 
    echo "$element\n"; 
} 

也读了关于foreach statement

查阅本手册,了解elseif/else if语法的清晰示例。代码中的其他部分是问题所在。

if ($i[5]<$i[6]) { echo $i[6]; } 

实际上会输出这样的东西;

if (b <) { echo ; } 

这就是为什么你看到有点错误...