这是我的usort代码,它使我输出最高值,我知道我可以从最高到最低输出它,但我想输出特定值

`<?php
usort($averagesa, function($a, $b) {
if ($a['avg'] == $b['avg']) {
    return 0;
}
return ($a['avg'] > $b['avg']) ? -1 : 1;
});
$highesta = $averagesa[0];
$highest_average = $highesta['avg'];
echo $highest_average;`


这是数组内容的示例

$querya1 = ("SELECT  ROUND(AVG(Compv11),2), dept_code , camp_code
                    FROM performance
                    INNER JOIN employment
                    ON employment.emp_code=performance.emp_id AND employment.dept_code=performance.dept_id
                    WHERE (empg_code=5 or empg_code=2) and (dept_code=10 and not stat_code=6)");
                    $resulta1 = mysql_query($querya1) or die(mysql_error());


// Print out result
while($rowa1 = mysql_fetch_array($resulta1)){
         $averagesa[1] = array(
        'avg' => $rowa1['ROUND(AVG(Compv11),2)'],
        'empg_code' => 1,
        'dept_id' => 3,
        'dept_code' => $rowa1['dept_code'],
        'camp_code' => $rowa1['camp_code']
    );
    echo "".$rowa1['ROUND(AVG(Compv11),2)'];
    $ga1 = "".$rowa1['ROUND(AVG(Compv11),2)'];
                    }

            ?>`

最佳答案

usort返回布尔值(是否起作用),并对数组值进行排序。因此,如果您的数组有5个项目,那么在usort之后,array [0]将是最高的,array [1]将是第二高的... ...还是我误解了您的问题?查看php.net/manual/en/function.usort.php,该示例显示了结果数组

关于php - 我可以使用usort函数显示仅第二高的值(或第三..等等)吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46859428/

10-10 14:24