预订系统:根据客人人数查找客房组合-PHP

时间:2019-05-29 20:33:14

标签: php

我正在准备预订系统并解决特定问题。我有以下数据结构(房间号/入住人数/价格):

$room[222][1] = 80;

$room[223][1] = 100; //Room ID 222, occupancy 1 guest, price €100
$room[223][2] = 200; //Room ID 222, occupancy 2 guest, price €200
$room[223][3] = 300; //...

$room[224][1] = 110;
$room[224][2] = 220;
$room[224][3] = 330;
...

我需要为指定数量的客人找到最佳(最低价格)的客房组合。

例如: 对于 4位客人,是$ room [222] [1]和$ room [223] [3]的最佳组合。房间的总价为380欧元。

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

首先,我要使房间成为更具描述性的对象,如下所示: 其次,我不会像这样存储每个客户的价格,而是专注于容量并从那里去

  $room = array();
  $room[222] = array(
    'capactiy' => '3',
    'price' => array(
      1 => '100', //Use a string, likely you'll have .99 or whatever
      2 => '200',
      3 => '300',
    ),
    'booked' => false,
  );

因此,您有3个客户: 遍历可用房间,如果人数少于容纳人数,则进行降温,将其预订,否则(例如容纳人数为2),然后从需要房间的顾客数量中删除2,然后再次遍历并获取下一个房间

如果您想变得复杂,比如说他们想彼此靠近,请坐222 + 1室,这可用吗?如果不是,那么223 + 1是否可用?是?大!预订。

相关问题