资源类型
资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
概述
资源类型很多初学者觉得比较难以理解。因为资源类型打印出来只能够看到一个英文的 resource
。其他的什么都不能显示出来,但他真的有客观存在。
资源类型可以用来保存数据库连接,打开一个文件,创建图形画布等句柄。可以随意创建、使用和释放。得益于 PHP 是弱类型语言,很多情况下,你只需要创建资源即可,不必理会资源释放等操作。系统会自动启用垃圾回收机制,以避免内存的溢出。PHP 提供了很多种创建资源的函数,搜索函数列表即可,不必死记硬背。
以下示例向你展示了如何使用常见的资源函数操作资源,由于无法获知这些资源在创建时的细节,你只需了解结果即可。
<?php
// 打开本目录下 php.txt 文件,并将文件资源赋给 handle 变量。
$handle = fopen("./php.txt", "r");
// 打开一个目录,并将文件资源赋给 handle 变量。
$handle = opendir("/usr/local/etc/");
// 创建一个 100*50 的画板,返回图像资源。
$handle = imagecreate(100, 50);
小提示
持久数据库连接比较特殊,它们不会被垃圾回收系统销毁。
NULL 类型
概述
特殊的 NULL 值表示一个变量没有值,它是代表没有。空(null)不是false,不是0,也不是空格,而是表示一个变量的值为空。NUll 不区分大小写,在下列情况下,一个变量会被认为是 NULL。
- 通过变量赋值明确指定变量的值为 NULL
- 一个变量没有给任何值
-
使用函数
unset()
将变量销毁掉
请看以下示例:所有的打印结果均为 NULL。
<?php
// 直接打印一个不存在的变量
var_dump($non_exist);
// 声明一个变量 值为 NULL
$value = null;
var_dump($val);
// 声明一个变量 再删除
$value = 'whoami';
unset($value);
var_dump($value);
伪类型
概述
伪类型(pseudo-types) 是 PHP 文档里用于指示参数可以使用的类型和值。请注意,它们不是 PHP 语言里原生类型。 所以不能把伪类型用于自定义函数里的类型约束(typehint)。因为 PHP 是弱类型语言,所以在一些函数中,一个参数可以接受多种类型的数据,还可以接受别的函数作为 回调函数 使用。
为了本系列教程的可读性,在函数手册中的所有函数入参说明中,将会使用以下几种常见的伪类型:
mixed
mixed 说明一个参数可以接受多种不同的(但不一定是所有的)类型。
number
number 说明一个参数可以是 integer 或者 float。
void
void 作为返回类型意味着函数的返回值是无用的。void 作为参数列表意味着函数不接受任何参数。
array|object
array|object 意思是参数既可以是 array
也可以是 object
。
...
在函数原型中,$...
表示等等的意思。当一个函数可以接受任意个参数时使用此变量名。