2012-01-14 13 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

+2

そのコードは何をすべきか?並べ替えるためのさまざまなネイティブ関数があることをご存知ですか? – Gordon

+1

サーバーログを確認しましたか? ubuntuの 'tail/var/log/apache2/error.log'やセント/ RHELの' tail/var/log/httpd/error_log'のようなもの ' –

答えて

0

私はちょうどこれを書き換えるよ、簡単に思える:

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

配列変数の最大値から最小値まで並べ替える簡単な解決方法があるのだろうか?ちょうど上記の並べ替えを得ることができませんでした。シンプルなものを見つけることを願っています。 – Ray

+0

'arsort'は、配列をハイからローにソートし、インデックスの関連付けを維持します(後者を必要としない場合は' rsort'を使います)。 – Wrikken

+0

提案に感謝し、最終的にソートしました。 Cheers – Ray

0

すぐに問題に対処していますが、はっきりと自分の生産と開発サーバーの間で設定ミスを持っているわけではありません。これはおそらくphp.iniにあります。プロダクションでphp.iniにアクセスできますか?もしそうなら、それは持っているかどうかを確認します。

log_errors = On 

それがない場合には(それが本番サーバであることから、それらを表示していないが)、それがログファイルにエラーを記録します。この場合、エラーログを調べて、何が怒っているのかを確認することができます。

+0

配列変数の最大値から最小値をソートする単純な解決法があるのではないかと思いますか?ちょうど上記の並べ替えを得ることができませんでした。シンプルなものを見つけることを願っています。 – Ray