在PHP程序中存储信息的主要方法是使用一个变量。
以下是关于PHP中变量的最重要的事情。
PHP中的所有变量都用前导的美元符号($)表示。
变量的值是其最近赋值的值。
变量分配了=运算符,左侧的变量和右侧的评估表达式。
变量可以但是不需要在赋值之前被声明。
PHP中的变量不具有固有类型 - 变量不提前知道是否将用于存储数字或字符string。
分配前使用的变量具有默认值。
PHP在必要时可以自动将类型从一个转换为另一个。
PHP变量是类Perl。
PHP has a total of eight data types which we use to construct our variables -
Integers - are whole numbers, without a decimal point, like 4195.
Doubles - are floating-point numbers, like 3.14159 or 49.1.
Booleans - have only two possible values either true or false.
NULL - is a special type that only has one value: NULL.
Strings - are sequences of characters, like "PHP supports string operations."
Arrays - are named and indexed collections of other values.
Objects - are instances of programmer-defined classes, which can package up both other kinds of values and functions that are specific to the class.
资源 - 是对PHP外部资源的引用的特殊变量(如数据库连接)。
前五个是简单类型,接下来的两个(数组和对象)是复合的 - 复合类型可以打包任意类型的其他任意值,而简单类型不能。
本章仅介绍简单的数据类型。数组和对象将分别说明。
它们是整数,没有小数点,如4195.它们是最简单的类型,它们对应于简单的整数,包括正数和负数。整数可以分配给变量,也可以在表达式中使用,如下所示:
$int_var = 12345; $another_int = -12345 + 12345;
整数可以是十进制(10位),八进制(8位)和十六进制(16位)格式。十进制格式是默认值,八进制整数用前导0指定,十六进制的前缀为0x。
对于大多数常见平台,最大的整数为(2 ** 31.1)(或2,147,483,647),最小(最负数)为整数。(2 ** 31.1)(或.2,147,483,647)。
他们喜欢3.14159或49.1。默认情况下,使用所需的最小小数位数进行打印。例如,代码 -
<?php $many = 2.2888800; $many_2 = 2.2111200; $few = $many + $many_2; print("$many + $many_2 = $few <br>"); ?>
它产生以下浏览器输出 -
2.28888 + 2.21112 = 4.5
他们只有两个可能的值是真或假。PHP提供了几个常量,特别是用作Booleans:TRUE和FALSE,可以这样使用 -
if (TRUE) print("This will always print<br>"); else print("This will never print<br>");
这里是确定任何不是布尔类型的值的“真实”的规则 -
如果该值是一个数字,则如果该值为零,则为false,否则为true。
如果该值是一个字符string,如果字符string为空(字符为零)或字符string为“0”,则为false,否则为true。
NULL类型的值始终为false。
如果值是数组,如果不包含其他值,则为false,否则为true。对于一个对象,包含一个值意味着有一个已经被赋值的成员变量。
有效的资源是真的(尽管一些成功返回资源的函数在失败时返回FALSE)。
不要使用双倍的布尔值。
当在布尔上下文中使用时,以下每个变量都将真值嵌入其名称中。
$true_num = 3 + 0.14159; $true_str = "Tried and true" $true_array[49] = "An array element"; $false_array = array(); $false_null = NULL; $false_num = 999 - 999; $false_str = "";
NULL是一个只有一个值的特殊类型:NULL。要给一个变量NULL值,只需像这样分配 -
$my_var = NULL;
特殊常量NULL通过惯例大写,但实际上是不区分大小写的; 你也可以打字 -
$my_var = null;
已分配为NULL的变量具有以下属性 -
它在布尔上下文中评估为FALSE。
当使用IsSet()函数进行测试时,它返回FALSE。
它们是字符序列,如“PHP支持字符string操作”。以下是字符string的有效示例
$string_1 = "This is a string in double quotes"; $string_2 = "This is a somewhat longer, singly quoted string"; $string_39 = "This string has thirty-nine characters"; $string_0 = ""; // a string with zero characters
单引号的字符string几乎以字面形式被处理,而双引号的字符string用它们的值替换变量以及特定地解释某些字符序列。
<?php $variable = "name"; $literally = "My $variable will not print!"; print($literally); print "<br>"; $literally = "My $variable will print!"; print($literally); ?>
输出结果如下 -
My $variable will not print! My name will print
字符string长度没有人为的限制 - 在可用内存的范围内,您应该能够制作任意长的字符string。
由双引号分隔的字符string(如“this”)由PHP以以下两种方式进行预处理 -
以反斜杠()开头的某些字符序列将被替换为特殊字符
变量名(以$开头)被替换为其值的字符string表示。
逃生序列更换是 -
您可以使用这里的文档为单个字符string变量分配多行 -
<?php $channel =<<<_XML_ <channel> <title>What"s For Dinner</title> <link>http://menu.example.com/ </link> <description>Choose what to eat tonight.</description> </channel> _XML_; echo <<<END This uses the "here document" syntax to output multiple lines with variable interpolation. Note that the here document terminator must appear on a line with just a semicolon. no extra whitespace!
END; print $channel; ?>
输出结果如下 -
This uses the "here document" syntax to output multiple lines with variable interpolation. Note that the here document terminator must appear on a line with just a semicolon. no extra whitespace! <channel> <title>What"s For Dinner<title> <link>http://menu.example.com/<link> <description>Choose what to eat tonight.</description>
范围可以定义为变量对其声明的程序的可用性范围。PHP变量可以是四种范围类型之一 -
命名变量的规则是 -
变量名必须以字母或下划线字符开头。
变量名称可以由数字,字母,下划线组成,但不能使用像+, - ,%,(,)这样的字符。&等
变量没有大小限制。