[英]Booking system: Find room combinations based on guest count - 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位客人是房間$ 222 [1]和房間$ room [223] [3]的最佳組合。 房間的總價格是380歐元。
你能幫助我嗎?
首先,我會把房間作為一個更具描述性的對象,所以這樣:第二,我不會像這樣存儲每個客戶的價格,而是關注容量並從那里開始
$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,它可用嗎? 是? 大! 預訂吧。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.