PHP支持9中原始数据类型
1 boolean(布尔型)。
2 integer(整型)。
3 float(浮点型)
4 string(字符串)
5 array(数组)
6 object
7 callable
两种特殊类型:
8 NULL
9 resource
变量赋值:
1 默认的传值赋值,当一个表达式的值赋值给一个变量时,整个原始表达式的值被赋给目标变量。这意味着,当一个变量的值赋值给另一个变量时,改变其中一个变量的值,另一个变量的值是不会改变的。
于此同时php提供了 另外一种赋值方式,即就是:引用赋值,这就意味着新的变量引用了原始变量,当改变其中一个变得的值时,另一个变量的值也会受到影响,
<?php
$foo = 'Bob'; // 将 'Bob' 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar;
echo $foo; // $foo 的值也被修改
?>
在php中变量的类型,通常不是由人为设定的,而是根据运行时变量的上下问决定的。
note:可以使用 var_dump() 函数看变量的类型和值。 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype() 函数。要检验某个类型, 不要 用 gettype() ,而用 is_type 函数。以下是一些范例:
<?php
$a_bool = TRUE; // 布尔值 boolean
$a_str = "foo"; // 字符串 string
$a_str2 = 'foo'; // 字符串 string
$an_int = 12; // 整型 integer
echo gettype($a_bool); // 输出: boolean
echo gettype($a_str); // 输出: string
// 如果是整型,就加上 4
if (is_int($an_int)) {
$an_int += 4;
}
// 如果 $bool 是字符串,就打印出来
// (啥也没打印出来)
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
变量类型转换:
PHP在变量定义中不需要明确的类型声明,而是由程序运行时根据context去决定。
强制类型转换:
PHP变量强转需要在目标变量前加上(目标类型)目标变量
允许的强制转换有:
- (int), (integer) - 转换为整形 integer
- (bool), (boolean) - 转换为布尔类型 boolean
- (float), (double), (real) - 转换为浮点型 float
- (string) - 转换为字符串 string
- (array) - 转换为数组 array
- (object) - 转换为对象 object
- (unset) - 转换为 NULL (PHP 5)