PHP 变量类型

PHP 的变量类型不多,有以下五种:

[list]
[]string
[
]integer
[]double
[
]array
[*]object
[/list]

string 即为字符串变量,无论是单一字符或数千字的字符串都是使用这个变量类型。值得注意的是要指定字符串给字符串变量,要在头尾加上双引号 (例如: “这是字符串”)。在要让字符串换行时,可使用溢出字符,也就是反斜线加上指定的符号,若是 \x 加上二位数字,如 \xFE 即表十六进位字符,详见下表:

[table=50%]
[tr][td]符号 [/td][td]意义 [/td][/tr]
[tr][td]" [/td][td]双引号 [/td][/tr]
[tr][td]\ [/td][td]反斜线 [/td][/tr]
[tr][td]\n [/td][td]换行 [/td][/tr]
[tr][td]\r [/td][td]送出 CR [/td][/tr]
[tr][td]\t [/td][td]跳位 (TAB) [/td][/tr]
[/table]

integer 为整数型别。在 32 位的操作系统中,它的有效范围是 -2,147,483,648 到 +2,147,483,647。要使用 16 进位整数可以在面加 0x。

double 为浮点数型别。在 32 位的操作系统中,它的有效范围是 1.7E-308 到 1.7E+308。

array 为数组变量,可以是二维、三维或者多维数组,其中的元素也很自由,可以是 string、integer 或者 double,甚至是 array。

object 为类变量,目前在 PHP 中的类不多,若论及类,Microsoft 的 ASP 类仍然较 PHP 的默认类多,相信这有赖大家的努力。不过话又说回来,Web CGI 程序要求的是效率,以完全面向对象的方式,恐怕用户在浏览时也会因为程序执行速度慢而很不耐烦吧。

要使用变量,只要在英文字符串前面加个美元号 $ 即可,目前变量名称仍不能使用中文。至于变量的大小写是不一样的,对开发 PHP 程序的 TEAM 来说,最好使用相同的变量使用风格,以免届时因为变量大小的问题,花许多无谓的时间去找寻问题点,那就麻烦了。

以下为变量的使用范例:

$mystring = “我是字符串”;
$WilsonPeng = “真是认真的作者”;
$NewLine = “换行了\n”;

$int1 = 38;
$int2 = 49;
$hexint = 0x10;

$float1 = 1.732;
$float2 = 1.4E+2;

$MyArray1 = array(“子”, “丑”, “寅”, “卯”);
$MyArray2 = array(
“地支” => array(“子”, “丑”, “寅”, “卯”),
“生肖” => array(“鼠”, “牛”, “虎”, “兔”),
“数字” => array(1, 2, 3, 4)
);

类的使用上就比较麻烦了,要先定义类别,甚至必须先要方法,才能使用类,如下例:

class foo {
function do_foo () {
echo “Doing foo.”;
}
}

$bar = new foo;
$bar -> do_foo ();

更多有关类的讨论,参考 类

此外,还有布尔值 (boolean),通常 1 即为 true,0 为 false。

在变量之间,若要转换类型,在 PHP 程序中是很自由的,直接就拿来用了,不必经过特殊的转换函数。当然,浮点数转成整数就有点牵强了,不过可以将浮点数转成字符串,也是很好处理。