2012-01-14 82 views
-1

需要有價值的建議,並幫助我理清以下問題。在數組中排序從高到低

function max_key($array) { 
foreach ($array as $key => $val) { 
    if ($val == max($array)) return $key; 
    } 
} 

$SortingVote = array(); 

for ($i=0; $i<10; $i++) { 

    $SortingVote[] = $i; 
} 

$array = $SortingVote; 

$array_count=count($array);  
for($i=0;$i<=$array_count;$i++){ 
    $max_val[$i]=max_key($array); 

    $voteValue_View=$array[$max_val[$i]]; 

    unset($array[$max_val[$i]]); 


    $VoteValue_New[$i] = $voteValue_View; 
    echo "Vote Value manual = $VoteValue_New[$i] <br />"; 
} 

它工作正常,當我在我的本地機器上通過MAMP Mac版(PHP MySQL的&)上運行它顯示的值。但是,當我部署在我的生產服務器上時,它什麼都不顯示。這很奇怪?剛收到以下內容:

Vote Value manual = 

感謝有人能指導我這個。乾杯

+2

您需要提供更多關於您想要實現的信息,包括輸入示例。 – Gajus 2012-01-14 13:49:45

+2

該代碼應該做什麼?你知道有多種原生函數用於排序嗎? – Gordon 2012-01-14 13:50:14

+1

你檢查了服務器日誌嗎?例如ubuntu中的'tail/var/log/apache2/error.log'或centos/RHEL中的''tail/var/log/httpd/error_log'' – 2012-01-14 13:53:22

回答

0

我只是重寫這一點,似乎更容易:

arsort($array); 
foreach(array_slice($array,0,10,true) as $key => $value){ 
    echo "Vote Value manual = $value <br />"; 
} 
+0

知道是否有任何簡單的解決方案進行排序在數組變量的最大值低的值:在谷歌爲陣列中的PHP排序 – Ray 2012-01-14 14:33:03

+0

這就是'arsort',將數組從高到低排序,保持索引關聯(如果你不需要後者,就使用'rsort')。 – Wrikken 2012-01-14 14:34:46

+0

感謝您的建議,並最終得到它。乾杯 – Ray 2012-01-15 11:03:48

0

不立即解決您的問題,但你顯然對你的生產和開發服務器之間的配置錯誤。最有可能的是在php.ini。你有權訪問生產上的php.ini嗎?如果是這樣,檢查它是否具有:

log_errors = On 

如果確實如此,它將被錯誤記錄到日誌文件(儘管不顯示他們,因爲這是一個生產服務器)。在這種情況下,您應該能夠查看錯誤日誌以查看令人不安的內容。

+0

想知道是否有任何簡單的解決方案來排序數組變量中的最大值到最小值?只是無法得到上述的理由。希望找到簡單的東西。 – Ray 2012-01-14 14:33:09