在这个foreach循环中,我把一个函数返回房间数量,每个$ sumqty [' room_qty']有不同的值,我的问题是,我想得到$ sumqty的最高值[& #39; room_qty'],我把它放在一个数组中吗?怎么样?任何帮助将不胜感激。
<?php
foreach($reservation as $res){
$sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
$sumqty['room_qty'];
}
$highest = ???;
?>
我想通过echo $ highest
显示最高值答案 0 :(得分:0)
是的,您可以使用数组。如果$sumqty['room_qty']
是一个数值,则以下内容将起作用:
$allquantities=array();
foreach($reservation as $res){
$sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
$allquantities[]=$sumqty['room_qty'];
}
$highest = max($allquantities);
答案 1 :(得分:0)
假设sumqty采用'到达','出发'和'房间id'并返回一个数组,其中键'room_qty'映射到某个整数:
<?php
$highest = -1000000000; //some really, really small number
foreach ($reservation as $res) {
$sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
if ($sumqty['room_qty'] > $highest) {
$highest = $sumqty['room_qty'];
}
}
echo $highest;
一般的想法是,每次找到更高的值时,都会将之前的最高值替换为新的更高值。
完成此操作不需要额外的数组!使用数组来解决此问题的解决方案不必要地复杂化。 (编辑:“复杂”是一个糟糕的单词选择;如果使用额外的数组比程序的效率稍差)
答案 2 :(得分:0)
获取$sumqty['room_qty']
,$room_qty[]
的所有值的数组,如本例所示。
<?php
$room_qty = array();
foreach($reservation as $res){
$sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
$room_qty[] = $sumqty['room_qty'];
}
$highest = max($room_qty);
?>
获得数组后,可以使用max()函数查找给定数组中的最大值。通过this manual,你会明白它。