为什么这不起作用?我的语法或其他什么问题?我想回显 $ row2 ['startShift'] 数组的最大值,但它什么也没显示。
$query2 = "SELECT startShift,endShift from seats where seatid=".$row['seatid'];
$result2 = mysql_query($query2);
while ($row2 = mysql_fetch_array($result2)){
$startShift = $row2['startShift'];
echo max($startShift);
}
答案 0 :(得分:2)
通过在循环外部保留单独的变量来计算最大值:
$maxStartShift = -INF;
while ($row2 = mysql_fetch_array($result2)){
if ($row2['startShift'] > $maxStartShift) {
$maxStartShift = $row2['startShift'];
}
echo $maxStartShift; // maximum until now
}
max()
函数返回其参数的最大值,因此max(1, 2) == 2
或max([1, 2]) == 2
。在你的情况下:
echo max($row2['startShift']);
只返回$row2['startShift']
,因为这是传递给函数的所有参数的最大值。