本章导读:
2.1 首要条件
2.2 PHP的安装
2.3 语法
2.4 数据类型
2.5 常量与变量
2.6 运算符
2.7 控制流程结构
2.8 函数
2.9 类
2.4 数据类型
PHP支持整数、浮点数、字符串、数组和对象。变量类型通常不由程序员决定而由 PHP运行过程决定(真是好的解脱!)。但是类型也可以被函数 cast或者 settype()明确的设定。
数值
数值类型可以是整数或是浮点数。你可以用以下的语句来为一个数值赋值:
$a =1234; # 十进制数
$a =-123;# 负数
$a =0123; # 八进制数 (等于十进制数的 83)
$a =0x12; # 十六进制数(等于十进制数的 18)
$a = 1.234; # 浮点数"双精度数"
$a = 1.2e3; # 双精度数的指数形式
字符串
字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。反斜杠(\)可以被用来分割某些特殊字符。举例如下:
$first = 'Hello';
$second = "World";
$full1 = "$first
$second"; # 产生 Hello World $full2 = '
$first $second';# 产生 $first $second
可以将字符和数字利用运算符号连接起来。字符被转化成数字,利用其最初位置。在 PHP手册中有详细的例子。
数组与哈希表
数组与哈希表以同样的方法被支持。怎样运用取决于你怎样定义它们。你可以用 list()或者 array()来定义它们,也可以直接为数组赋值。数组的索引从 0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。
// 一个包含两个元素的数组
$a[0] = "first";
$a[1] = "second";
$a[] = "third"; //添加数组元素的简单方法
// 现在$a[2]被赋值为"third"
echo count($a); //打印出 3,因为该是数组有 3个元素
// 用一个语句定义一个数组并赋值 $myphonebook = array (
"sbabu" => "5348",
"keith" => "4829",
"carole" => "4533"
);
// 噢,忘了教长吧,让我们添加一个元素
$myphonebook["dean"] = "5397";
// 你定义的 carale元素错了,让我们更正它
$myphonebook["carole"] => "4522"
// 我还没有告诉你怎样使用数组的相似支持方式吗?让我们看一看
echo "$myphonebook[0]"; // sbabu
echo "$myphonebook[1]"; // 5348
其他一些对数组或哈希表有用的函数包括 sort(),next(),prev()和 each()。
对象
使用 new语句产生一个对象:
class foo
{
function do_foo ()
{
echo "Doing foo.";
}
}
$bar = new foo;
$bar->do_foo();
改变变量类型
在PHP手册中提到:"PHP不支持(也不需要)直接在声明变量时定义变量类型;变量类型 将根据其被应用的情况决定。如果你为变量 var赋值为一个字符串,那么它变成了一个字符 串。如果你又为它赋了整数值,那么它就变成了整数。"
$foo = "0"; // $foo是字符串(ASCII 48)
$foo++; // $foo是字符串"1" (ASCII 49)
$foo += 1; // $foo现在是整数(2)
$foo = $foo + 1.3; // $foo是一个双精度数(3.3)
$foo = 5 + "10 Little Piggies"; // $foo是一个整数(15)
$foo = 5 + "10 Small Pigs"; // $foo是一个整数(15)
如果想要强行转换变量类型,可以使用与 C语言相同的函数 settype()。