在PHP中,函數參數可以有多種類型,包括基本類型、復合類型和特殊類型。這些類型的限制如下:
-
基本類型:
- 布爾值(bool):true 或 false
- 整數(int):例如 42、-7 或 0
- 浮點數(float):例如 3.14、-0.1 或 1.0E-5
- 字符串(string):例如 “hello”、‘123’ 或 “”
-
復合類型:
- 數組(array):鍵值對的無序集合,例如 [‘key’ => ‘value’]
- 對象(object):類的實例,具有屬性和方法
- 資源(resource):例如文件句柄、數據庫連接等
- NULL:表示沒有值的特殊類型
-
特殊類型:
- 標量類型(scalar):可以是上述基本類型之一
- 可變參數列表(callable):可以是一個函數名、閉包或其他可以調用的實體
- 類型提示(type hinting):可以使用標量類型、類名、接口名或數組等作為參數類型提示
- 枚舉(enum):使用枚舉類定義的一組有限的固定常量
函數參數的類型限制主要取決于函數定義時指定的參數類型。在PHP 7及更高版本中,你可以在函數定義中使用類型聲明來限制參數的類型。例如:
function foo(int $a, string $b, bool $c): void {
}
在這個例子中,foo
函數接受三個參數,分別要求參數 $a
是整數類型,$b
是字符串類型,$c
是布爾類型。如果傳遞的參數類型不符合這些要求,將會導致錯誤。