现在的位置: 首页 > 综合 > 正文

理解PHP数据类型

2014年02月04日 ⁄ 综合 ⁄ 共 1206字 ⁄ 字号 评论关闭
PHP支持如下所示的数基本数据类型:
  1. Integer(整数)——用来表示整数。
  2. Float(浮点数即 Double,双精度值)——用来表示所有实数。
  3. String(字符串)——用来表示字符串。
  4. Boolean(布尔值)——用来表示true或者false。
  5. Array(数组)——用来保存具有相同类型的多个数据项。
  6. Object(对象)——用来保存类的实例。

此外还有两个特殊的类型:NULL(空)和resource(资源)。没有被赋值、已经被重置或者被赋值为特殊值NULL的变量就是NULL类型的变量。特定的内置函数(如:数据库函数)将返回resource类型的变量。它们都代表外部资源(例如:数据库连接)。基本上不能直接操作一个resource变量,但是通常它们都将被函数返回,而且必须作为参数传递给其他函数。

关于类型强度:

PHP是弱类型的语言,或者叫动态类型语言。
与C,java等语方不同,PHP中变量的类型是由赋给变量的值来确定的。
如:
$a = 0; // 整数型
$b = 0.00;  // 浮点型

如果为$b赋值:
$b = "Hello world";
那么$b变量就成为字符串类型,PHP可以在任何时间根据保存在变量中的值来确定变量的类型。
这种在任何时间透明地改变变量类型的功能是非常有用的。

* PHP将"自动地"获得输入的数据类型。一旦从变量中检索变量值,它将返回具有相同数据类型的数据。

类型转换:

使用类型转换,可以将一个变量或值转换成另一种类型。

在希望进行转换的变量之前的圆括号中插入需要转换的临时数据类型即可。

例:

$a = 0;
$b = (float)$a; // 取出$a中的变量值,将其解释成一个浮点型类型,并且将其保存在$b中,$b变量将变成浮点类型。
而被转换的变量并不会改变其类型。因此$a仍然是整数类型。

可变变量

PHP提供了一种其他类型的变量——可变变量。
可变变量允许我们动态地改变一个变量的名称。
在这方面,PHP具有非常大的自由度——所有语言都允许改变变量的值,但是并没有太多的语言充许改变变量的类型,至于支持改变变量名称的语言就更少了。

这个特性的工作原理是用一个变量的值作为另一个变量的名称。例如:
$var = 'val';
可以用$$var取代$val,例如,我们可以设置$val的值;
$$var = 56;
这个代码等价于:
$val= 56;

再看一个示例:

$a   = 'Hello';

$$a  = ' PHP';

这个示例中,第二个代码实际相当于$Hello = ' PHP';

关于数组的可变变量名

为了使用数组的可变变量名,你需要解决一个歧义问题。就是,如果你写$$a[1],解析器需要明白究竟你的意思是要把$a[1]当成一个变量,还是要把$$a当成变量、[1]指的是这个变量的索引。解决这个歧义问题的语法是:第一种情况使用${$a[1]},第二种情况使用${$a}[1]。(这段引用http://www.aqee.net/variable-variables/)

抱歉!评论已关闭.