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