Prev: PHPⅠ:基本语法
Next: None
1 变量
1.1 变量
[ruby=Variables]变量[/ruby]是我们用来存储信息的“容器”。 一个PHP变量以美元符号 ($) 开始,后跟变量名。
PHP变量命名规则:
举例:
上例中,注意我们不需要告诉PHP变量是什么类型。 PHP会根据值自动转换变量为合适的数据类型。 与其他编程语言不同,PHP没有声明变量的语法。变量在第一次对其赋值时创建。 Part题: 填空声明并赋值变量$name和$age。
|
2 常量
2.1 常量
[ruby=Constants]常量[/ruby]与变量类似,除了它们在被定义后不能被改变值或取消定义。 常量名称应以字母或下划线开始。 用define()函数创建常量:
形参: name:标明常量名; value:标明常量值; case-insensitive:标明常量名是否大小写不敏感。默认为false。 下面的例子创建一个名称大小写敏感的常量:
下面的例子创建一个名称大小写不敏感的常量:
常量名前不需美元符号 ($)。 Part题: 填空定义一个值为28的大小写敏感常量AGE。
|
3 数据类型
3.1 数据类型
变量可以存储不同的数据类型。 PHP支持的数据类型有:[ruby=字符串]String[/ruby]、[ruby=整型]Integer[/ruby]、[ruby=浮点数]Float[/ruby]、[ruby=布尔值]Boolean[/ruby]、[ruby=数组]Array[/ruby]、[ruby=对象]Object[/ruby]、NULL、[ruby=资源]Resource[/ruby]。 PHP字符串 字符串是字符序列,例如"Hello world!" 字符串可以是一对单引号或双引号中的任意字符。
你可以用点 (.) 并置运算符连接两个字符串。 PHP整型 整型是符合下面规则的整数(无小数点):
Part题: 填空定义变量string:
|
3.2 PHP浮点数
浮点数是包含小数部分的数。
PHP布尔值 布尔值表示两个可能的状态:真或假。
布尔值常被用在条件测试中,后面会讲到。大多数据类型能与其他类型混用。下例中,字符串和整型相加,得到两数之和。
PHP自动将变量根据值转换为合适的数据类型。这就是为什么上面加法中变量$str被当作数字对待。 Part题: 下面代码的输出是?
|
4 变量作用域
4.1 变量作用域
PHP变量可以在任何地方声明。 变量的[ruby=scope]作用域[/ruby]指代变量在脚本中能被使用的范围。 PHP最常用的变量作用域是[ruby=local]局部[/ruby]和[ruby=global]全局[/ruby]。 在函数外定义的变量有[ruby=global scope]全局作用域[/ruby]。 在函数内定义的变量有[ruby=local scope]局部作用域[/ruby],并且只能在函数内访问。 考虑下面的例子:
这个脚本会产生一个错误,因为$name有全局作用域,在getName()函数中不可见。下一节你会看到如何在函数内访问全局变量。 函数在以后的教程中会讲到。 Part题: 上面的例子中,产生PHP错误的原因是? A. 变量在函数内未定义 B. 没写PHP开始标签 C. 语法错误 |
4.2 global关键字
global关键字用来在函数内访问全局变量。 使用方法:在函数内使用变量前使用global关键字。
Part题: 下面代码的输出是?
|
5 可变变量
5.1 可变变量
在PHP中,你可以用一个变量来声明另一个变量的名称。 因此,一个[ruby=variable variable]可变变量[/ruby]以其他变量的值作为自己的名。 例:
$$a是一个可变变量,以另一个变量$a的值作为它的名称。$a的值是"hello"。得到的变量是$hello,也就是包含值"Hi!"。 Part题: 填空将"World"输出到屏幕。
|
章末检测
1. 用选项填空,定义一个变量name,为其赋值并输出。
2. 下面代码的输出是?
3. 重排下列代码,定义一个变量并输出其值。
|