我試圖編寫一個函數來計算每個訂單的總價格,當給出產品的價格和該用戶的信用額度時。信用應該扣除,如果還有剩餘,應該從下一個訂單中扣除。在一個數組中的PHP計算(遞歸?)
函數應該返回每個訂單的最終價格以及單個數組中每個帳戶的每個帳戶的最終價格,其中客戶ID爲關鍵字。任何負數(信用或訂單價格)都應設爲0.
'abc
'和'def
'是客戶ID。這個示例代碼應該解釋得更好。 我需要遞歸函數嗎?
輸入:
//should return: order 1 = 375, order 2 = 90, remaining credit = 0;
$order['abc'][1] = 500;
$order['abc'][2] = 90;
$credit['abc'] = 125;
//should return: order 1: 0, order 2: 0, remaining credit = 125
$order['def'][1] = 100;
$order['def'][2] = 75;
$credits['def'] = 300;
回報應該是一個單一的陣列,因爲這樣的:
$set['abc'][1] = 375;
$set['abc'][2] = 90;
$set['abc']['credit_remaining'] = 0;
$set['def'][1] = 0;
$set['def'][2] = 0;
$set['def']['credit_remaining'] = 125;
代碼在哪裏?你到底有什麼麻煩?不,您不需要遞歸,因爲您沒有做任何涉及將自己作爲解決方案的一部分的任何事情。你也不需要知道任何關於不同客戶的代碼,只需要一個'function order_results($ orders,$ credit)'。 – Jon
Jon,根據問題中的示例和規範,客戶ID是必需的,否則您將無法將任何價值與特定客戶相關聯。 Stef,我對這個功能的目的有點困惑,因爲要求似乎更多地是報告而不是實際的財務功能?如果我們知道這一點,我們可以提供更多的見解和更好的迴應。 – Ryan