变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。
变量是存储数据的“容器”。
命名规则
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母数字字符以及下划线(A-Z、a-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
注意: $this是一个特殊的变量,它不能被赋值。
弱类型语言
在PHP中,定义变量时,不需要声明该变量的数据类型。PHP会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
变量默认值
虽然在 PHP 中并不需要初始化变量,但对变量进行初始化是个好习惯。未初始化的变量具有其类型的默认值。
-
布尔类型的变量默认值是 FALSE
-
整形和浮点型变量默认值是零
-
字符串型变量默认值是空字符串
-
数组变量的默认值是空数组。
示例:
<?php
//未设置和未引用变量,输出NULL
var_dump($unset_var);
//Boolean用法,输出false
var_dump($unset_bool ? true : false);
//String用法,输出string(3) "abc"
$unset_str .= 'abc';
var_dump($unset_str);
//Integer用法,输出int(25)
$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int);
//Float/double用法,输出float(1.25)
$unset_float += 1.25;
var_dump($unset_float);
//Array用法,输出 array(1) { [3]=> string(3) "def" }
$unset_arr[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);
//Object用法,创建一个stdClass对象
//输出Outputs: object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" }
$unset_obj->foo = 'bar';
var_dump($unset_obj);