2011-05-27 88 views
1

我想這個數組元素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行

我怎樣才能糾正它

回答

7

這個片段的問題是:

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

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

我會做不同的。考慮使用PHP內置的sort()函數。

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

也讀了關於foreach statement

0

查閱本手冊,瞭解elseif/else if語法的清晰示例。代碼中的其他部分是問題所在。

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

實際上會輸出這樣的東西;

if (b <) { echo ; } 

這就是爲什麼你看到有點錯誤...

相關問題