PHP支援函數重載,允許使用相同名稱定義多個函數,條件是參數清單不同。重載規則:函數名稱相同,函數簽章(參數數量、順序或型別)不同,參數必須以參考或值傳遞,回傳類型可以不同。實戰案例:calculateArea函數透過不同簽章實現了正方形和矩形面積計算。
PHP 確實支援函數重載,允許您使用相同名稱定義多個函數,條件是它們的簽名(參數列表)不同。
PHP 函數重載的規則如下:
下例展示了函數重載的實際應用:
<?php function calculateArea($width, $height = null) { if ($height === null) { // 正方形 return $width * $width; } else { // 矩形 return $width * $height; } } echo calculateArea(5); // 输出:25(正方形) echo calculateArea(5, 10); // 输出:50(矩形)
在這裡,calculateArea
函數有兩個不同的簽章:
calculateArea(int $width)
:用於計算正方形的面積calculateArea(int $width, int $height)
:用於計算矩形的面積這些函數的簽章不同,因此它們可以重載。請注意,$height
參數是可選的,這允許我們根據傳入的參數數量來計算不同的面積。
以上是PHP 函數可以重載嗎?如果有的話,規則是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!