数组(Array)
1.PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。本书将用一章介绍数组的声明与使用,这里仅作简要说明。
2.PHP中可以使用多种方式构建一个数组,在这里我们只用array()语言结构来新建一个array。它接受一定数量用逗号分隔的 key => value 参数对。
//语法结构:
array( [key =>] value , ... )
// key 可以是integer或者string类型
// value 可以是任何值
<?php
$arr = array(
"foo" => "bar", 12 => true);
?>
对象(Object)
在PHP中,对象和数组一样都是一种复合数据类型。但对象是一种更高级的数据类型。一个对象类型的变量,是由一组属性值和一组方法构成,其中属性表明对象的一种状态,方法通常用来表明对象的功能。本书将用一章的内容来介绍对象的使用,这里仅作简要的说明。要初始化一个对象,用 new 语句将对象实例到一个变量中。
<?php
class foo{ //类的定义
function do_foo(){ //类中方法的定义
echo "Doing foo.";
}
}
$bar = new foo; //初始化类foo创建一个对象bar
$bar->do_foo(); //通过对象bar调用方法do_foo输出: Doing foo.
?>
资源类型(Resource)
1.资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。
2.由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源
3.PHP4Zend引擎引进了资源计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。由此原因,很少需要用某些 free-result 函数来手工释放内存。
<?php
$file_handle=fopen("info.txt","w");
var_dump($file_handle); //resource(3) of type (stream)
$link_mysql=mysql_connect("localhost","root","root");
var_dump($link_mysql); //resource(4) of type (mysql link)
?>
NULL类型
1.特殊的 NULL 值表示一个变量没有值。NULL类型唯一可能的值就是NULL,表示一个变量的值为空,NULL不区分大小写。
2.在下列情况下一个变量被认为是 NULL:
1.被赋值为 NULL值的变量。
2.尚未被赋值的变量。
3.被unset()函数销毁的变量。
伪类型介绍
伪类型并不是PHP语言中的基本数据类型,只是因为PHP是弱类型语言,所以在一些函数中,一个参数可以接收多种类型的数据,还可以接收别的函数作为回调函数使用。为了确保代码的易读性在本书中介绍一些伪类型的使用。
–mixed:说明一个参数可以接受多种不同的(但并不必须是所有的)类型。
–number:说明一个参数可以是 integer 或者 float。
–callback:有些诸如 call_user_function() 或 usort() 的函数接受用户自定义的函数作为一个参数。Callback 函数不仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法
一个 PHP 函数用函数名字符串来传递。可以传递任何内置的或者用户自定义的函数,除了 array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。