Php 如何将foreach循环的结果放入数组并获得最大值

Php 如何将foreach循环的结果放入数组并获得最大值,php,mysql,sql,arrays,foreach,Php,Mysql,Sql,Arrays,Foreach,在这个foreach循环中,我放置了一个返回房间数量的函数,每个$sumqty['room\u qty']都有不同的值,我的问题是,我想得到$sumqty['room\u qty']的最高值,我是否将其放入数组中?怎样?任何帮助都将不胜感激 <?php foreach($reservation as $res){ $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']); $sumqty[

在这个foreach循环中,我放置了一个返回房间数量的函数,每个$sumqty['room\u qty']都有不同的值,我的问题是,我想得到$sumqty['room\u qty']的最高值,我是否将其放入数组中?怎样?任何帮助都将不胜感激

<?php
    foreach($reservation as $res){
    $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
    $sumqty['room_qty'];
    }

    $highest = ???;
?>


我想通过echo$highest显示最高值是的,您可以使用数组。如果
$sumqty['room\u qty']
是一个数字值,则以下选项适用:

$allquantities=array();
foreach($reservation as $res){
    $sumqty = sumqty($res['arrival'],$res['departure'],$res['room_id']);
    $allquantities[]=$sumqty['room_qty'];
}

$highest = max($allquantities);

假设sumqty接受“到达”、“离开”和“房间id”,并返回一个键“房间数量”映射到某个整数的数组:

<?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;

获取所有值的数组,如本例中的
$sumqty['room\u qty']
$room\u 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()函数来查找给定数组中的最大值。仔细检查一下,你就会明白这一点。

你想计算实际的房间数吗?你可以使用
max($array)
从你的数组中获取最高值。