財務報表、數據分析常需將月份對應到季度 (Q1-Q4)。PHP 只需簡單數學運算即可完成,無需複雜判斷式。
function getQuarterByMonth(string $date): int {
// $date 格式: '2024-05' 或 '202405' 或任意包含月份的字串
$month = (int)substr($date, -2); // 取最後兩位
return (int)ceil($month / 3);
}
// 測試
var_dump(getQuarterByMonth('2024-01')); // 1
var_dump(getQuarterByMonth('202403')); // 1
var_dump(getQuarterByMonth('2024-04')); // 2
var_dump(getQuarterByMonth('06')); // 2
var_dump(getQuarterByMonth('2024-12')); // 4
ceil = 1 (Q1)。ceil = 2 (Q2)。ceil = 3 (Q3)。ceil = 4 (Q4)。function getQuarterRange(int $quarter): array {
$start = ($quarter - 1) * 3 + 1;
$end = $quarter * 3;
return [$start, $end];
}
// Q2 => [4, 6]
ceil((int)substr($date, -2) / 3) 一行解決年月轉季度,簡潔高效、無分支預測失誤,適合高頻呼叫場景。