php 组成,第 5 章 PHP 的组成部分

第 5 章 PHP 的组成部分

5.1 变量

一个变量由你所选取的一个名字以及前面的一个美元符($)组成。

一个分号(;)(又叫做指令终止符,instruction terminator)用来结束一条 PHP 语句。

注意:每一条语句都要以分号结束,不然会报错。

5.1.2 超全局变量

在脚本中使用超全局变量对于创建安全的应用程序很重要,因为超全局变量减少了用户注入式攻击进入到脚本的可能性。

5.2 数据类型

PHP 是类型宽松的语言,这意味着它将在数据被赋给每个变量的时候才确定数据类型。

程序清单 5.1 测试一个变量的类型

$testing;

echo "is null? ".is_null($testing);

echo "
";

$testing = 5;

echo "is an integer? ".is_int($testing);

echo "
";

$testing = "five";

echo "is a string? ".is_string($testing);

echo "
";

$testing = 5.024;

echo "is a double? ".is_double($testing);

echo "
";

$testing = true;

echo "is boolean? ".is_bool($testing);

echo "
";

$testing = array('apple', 'orange', 'pear');

echo "is an array? ".is_array($testing);

echo "
";

echo "is numeric? ".is_numeric($testing);

echo "
";

?>

结果:

is null? 1

is an integer? 1

is a string? 1

is a double? 1

is boolean? 1

is an array? 1

is numeric?

5.2.1 使用 settype() 来改变变量的数据类型

程序清单 5.2 使用 settype() 修改一个变量的类型

$undecided = 3.14;

echo "is ".$undecided." a double? ".is_double($undecided)."
";

settype($undecided, 'string');

echo "is ".$undecided." a string? ".is_string($undecided)."
";

settype($undecided, 'integer');

echo "is ".$undecided." an integer? ".is_integer($undecided)."
";

settype($undecided, 'double');

echo "is ".$undecided." a double? ".is_double($undecided)."
";

settype($undecided, 'bool');

echo "is ".$undecided." a boolean? ".is_bool($undecided)."
";

?>

结果:

is 3.14 a double? 1

is 3.14 a string? 1

is 3 an integer? 1

is 3 a double? 1

is 1 a boolean? 1

5.2.2 通过类型转换改变变量的数据类型

使用 settype() 来改变一个已有变量的类型和使用类型转换改变变量类型的主要区别在于,类型转换会生成一个拷贝,而保持原来的变量不动。

程序清单 5.3 对一个变量进行类型转换

$undecided = 3.14;

$holder = (double)$undecided;

echo "is ".$holder." a double? ".is_double($holder)."
";

$holder = (string)$undecided;

echo "is ".$holder." a string? ".is_string($holder)."
";

$holder = (integer)$undecided;

echo "is ".$holder." an integer? ".is_integer($holder)."
";

$holder = (double)$undecided;

echo "is ".$holder." a double? ".is_double($holder)."
";

$holder = (boolean)$undecided;

echo "is ".$holder." a boolean? ".is_bool($holder)."
";

$holder = (integer)$undecided;

echo "is ".$holder." an integer? ".is_integer($holder)."
";

echo "


";

echo "original variable type of $undecided: ";

echo gettype($undecided);

?>

结果:

is 3.14 a double? 1

is 3.14 a string? 1

is 3 an integer? 1

is 3.14 a double? 1

is 1 a boolean? 1

is 3 an integer? 1original variable type of 3.14: double

5.3 操作符和表达式

5.3.3 连接操作符

连接操作符用一个句点(.)表示。它把两个操作数都当做是字符串,把右操作数附加到左操作数上。如

"hello"." world"

返回

hello world

不管和连接操作符一起使用的操作数是什么数据类型,它们都会被当做字符串对待,并且结果也总是字符串类型。

5.4 常量

常量必须使用 PHP 内建的 define() 函数来创建,随后这个常量是不能改变的,除非再次明确地 define() 它。

常量只能使用常量名访问,不需要美元符号。

程序清单 5.4 定义和访问一个常量

define("THE_YEAR", "2012");

echo "It is the year ".THE_YEAR.".";

?>

结果:

It is the year 2012.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值