前言
伪类型是PHP 文档里用于表示参数可以使用的类型或者函数的返回类型, 它们并不是 PHP 的数据类型, 只是文档说明,相当于注释。
所以可以简单地理解为伪类型就是代码注释,用于说明函数的参数和返回类型的。
由于PHP的伪类型中有 array 和 object,而php基本数据类型中也有他们,导致了人们容易混淆。所以在概念上首先要明确,伪类型是文档注释,不是数据类型。
伪类型说明
mixed
mixed 说明一个参数可以接受多种不同的(不一定是所有的)类型。
number
number 说明一个参数可以是 integer 或者 float。
callback
callable说明参数类型是回调类型
array | object
array|object 意思是参数既可以是 array 也可以是 object。
void
void 指定函数的返回类型为空,即该函数不返回值。
...
在函数的参数列表中使用,...表示等等的意思。表示该函数接收任意数量的参数
注:
伪类型不仅可以标注函数的参数,也可以标注函数的返回类型。
如何增加文档注释
一般是在集成开发开发工具中的函数前面输入 /** 然后回车即可生成相关的文档注释
伪类型参数的函数
伪类型参数的个数如下所示:
mixed funName(mixed $args) //在参数列表中出现类型使用mixed描述参数
number funName(number) //在参数列表中出现类型使用number描述的参数
PHP是弱类型语言,不仅在声明变量时不需要指定类型,声明函数时参数也不需要指定类型,所以在PHP中函数的每个参数都可以为其传递任意类型的值。因为弱类型是PHP语言的最大特点,所以在声明一个函数的时候,可以让同一个参数接受任意类型的值。而在C/C++或Java等强类型编程语言中,如果要声明对数组进行排序的方法,就必须为每一种类型的数组写一个排序方法,这就是所谓函数重载,在Java中后来出现泛型解决此类问题,而PHP这种弱类型参数是不存在重载的概念的。
在PHP中,如果对各种类型的数组进行排序,只要声明一个函数就足够了,所以伪类型参数的函数是PHP中最常见的函数应用形式。上面我们简单介绍了PHP的伪类型,包括mixed、number和callback三种,所以在这里就不再赘述。在声明函数时,如果参数能接受多种不同但并不必须是所有类型的值,在函数的说明文档中,就可以使用mixed标记这个参数类型。如果说明一个参数可以是integer或float类型,就可以使用number编辑参数。除了参数可以传递伪类型的参数,函数的返回值也可以根据参数类型的不同返回不同类型的值。在PHP中,像empty()、isset()、pow()等都是这样的函数。比如下面的例子:计算两个数和,这时候就可以使用number
<?php
/**
* @param number $a
* @param number $b
*/
function sum($a, $b){
return $a + $b;
}
?>