查看: 576|回复: 4

PHP服务器变量设置的方法介绍

 关闭 [复制链接]

签到天数: 2118 天

连续签到: 6 天

[LV.Master]至尊海神IIIIII

发表于 2009-3-17 16:34 | 显示全部楼层 |阅读模式
PHP服务器变量设置的方法介绍
变量类型变化(juggling)

PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。

一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。
$foo=\"0\";//$foo是一个字符串,值是“0”(ASCII48)
$foo++;//$foo是一个字符串,值是“1”(ASCII49)
$foo+=1;//$foo现在是一个整数(2)了
$foo=$foo+1.3;//$foo现在是一个双精度数(3.3)了
$foo=5+\"10LittlePiggies\";//$foo是一个整数(15)
$foo=5+\"10SmallPigs\";//$foo是一个整数(15)

如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。

如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。

确定一个变量的类型

因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().

类型强制(type casting)

在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。

$foo=10;//$foo是一个整数
$bar=(double)$foo;//$bar是一个双精度数

以下的强制方式是允许的:

(int), (integer) – 强制成整数

(real), (double), (float) – 强制成双精度数

(string) – 强制成字符串

(array) – 强制成数组

(object) – 强制成对象

注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的:

$foo = (int) $bar;

$foo = ( int ) $bar;

字符串转化

当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。

如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。

这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。

$foo=1+\"10.5\";//$foo是双精度数(11.5)
$foo=1+\"-1.3e3\";//$foo是双精度数(-1299)
$foo=1+\"bob-1.3e3\";//$foo是整数(1)
$foo=1+\"bob3\";//$foo是整数(1)
$foo=1+\"10SmallPigs\";//$foo是整数(11)
$foo=1+\"10LittlePiggies\";//$foo是整数(11);
//这个字符串包括字符’e’
PCOS系统下载站:http://zhuangji.wang

签到天数: 2118 天

连续签到: 6 天

[LV.Master]至尊海神IIIIII

 楼主| 发表于 2009-3-17 16:34 | 显示全部楼层

PHP服务器变量设置的方法介绍

PHP服务器变量设置的方法介绍
变量类型变化(juggling)

PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。

一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。
$foo=\"0\";//$foo是一个字符串,值是“0”(ASCII48)
$foo++;//$foo是一个字符串,值是“1”(ASCII49)
$foo+=1;//$foo现在是一个整数(2)了
$foo=$foo+1.3;//$foo现在是一个双精度数(3.3)了
$foo=5+\"10LittlePiggies\";//$foo是一个整数(15)
$foo=5+\"10SmallPigs\";//$foo是一个整数(15)

如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。

如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。

确定一个变量的类型

因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().

类型强制(type casting)

在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。

$foo=10;//$foo是一个整数
$bar=(double)$foo;//$bar是一个双精度数

以下的强制方式是允许的:

(int), (integer) – 强制成整数

(real), (double), (float) – 强制成双精度数

(string) – 强制成字符串

(array) – 强制成数组

(object) – 强制成对象

注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的:

$foo = (int) $bar;

$foo = ( int ) $bar;

字符串转化

当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。

如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。

这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。

$foo=1+\"10.5\";//$foo是双精度数(11.5)
$foo=1+\"-1.3e3\";//$foo是双精度数(-1299)
$foo=1+\"bob-1.3e3\";//$foo是整数(1)
$foo=1+\"bob3\";//$foo是整数(1)
$foo=1+\"10SmallPigs\";//$foo是整数(11)
$foo=1+\"10LittlePiggies\";//$foo是整数(11);
//这个字符串包括字符’e’
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

签到天数: 2118 天

连续签到: 6 天

[LV.Master]至尊海神IIIIII

 楼主| 发表于 2009-3-17 16:34 | 显示全部楼层

PHP服务器变量设置的方法介绍

PHP服务器变量设置的方法介绍
变量类型变化(juggling)

PHP不需要(或者说不支持)在声名变量明确他的变量类型;一个变量的类型是由这个变量被使用的前后关系来决定的,也就是说,如果你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。如果你再将一个整数赋值给var,他又变成了一个整数型变量。

一个PHP自动转化变量类型的例子是加法的操作符’+’。如果任何一个操作数都是双精度数,那么所有的操作数被当作双精度数求值,并且结果也是双精度数。否则,操作数将被认为是整数,结果也将会是整数。注意这并不影响每个操作数本身的变量类型,唯一的变化就是操作数在计算的过程中被如何处理。
$foo=\"0\";//$foo是一个字符串,值是“0”(ASCII48)
$foo++;//$foo是一个字符串,值是“1”(ASCII49)
$foo+=1;//$foo现在是一个整数(2)了
$foo=$foo+1.3;//$foo现在是一个双精度数(3.3)了
$foo=5+\"10LittlePiggies\";//$foo是一个整数(15)
$foo=5+\"10SmallPigs\";//$foo是一个整数(15)

如果你觉得上面例子中最后两个表达式看起来有点奇怪的话,请看 “字符串的转化”部分。

如果你希望强制一个变量被当作某种固定的类型来计算,请看 “类型强制(casting)” 一节。如果你希望转变一个变量的类型,请看函数“settype()”的说明。

确定一个变量的类型

因为PHP自己决定变量的类型并且一般按照需要转化他们,一个特定的变量的类型不是在任何时间都非常明显。PHP包括一些函数可以找出这个变量的类型。这 些函数是gettype(), is_long(), is_double(), is_string(), is_array(), 和 is_object().

类型强制(type casting)

在PHP中类型强制同在C语言中大抵相似:将需要的类型的种类写在要强制的变量的前面的圆括号中。

$foo=10;//$foo是一个整数
$bar=(double)$foo;//$bar是一个双精度数

以下的强制方式是允许的:

(int), (integer) – 强制成整数

(real), (double), (float) – 强制成双精度数

(string) – 强制成字符串

(array) – 强制成数组

(object) – 强制成对象

注意在圆括号中允许制表符(tabs)和空格(spaces) ,因此下面的语句是等价的:

$foo = (int) $bar;

$foo = ( int ) $bar;

字符串转化

当一个字符串被当作数字型的值来计算时,他的结果和类型如下面所述的决定。

如果这个字符串含有字符’.’,’e’,或者’E’,则被当作双精度类型变量来处理,否则当作是整数。

这个字符串的值由词首部分决定。如果这个字符串以任何有效的数字的数据开始,那么这个数字数据就是这个字符串参加运算的值。否则,值为零(zero)。有效的数字数据是遵循下面的这些标记的,跟随在一个或多个数字后面(可以包含小数点),跟随在一个可选的指数后面。指数是由一个或多个数字跟在’e’或 ’E’后面构成的。

$foo=1+\"10.5\";//$foo是双精度数(11.5)
$foo=1+\"-1.3e3\";//$foo是双精度数(-1299)
$foo=1+\"bob-1.3e3\";//$foo是整数(1)
$foo=1+\"bob3\";//$foo是整数(1)
$foo=1+\"10SmallPigs\";//$foo是整数(11)
$foo=1+\"10LittlePiggies\";//$foo是整数(11);
//这个字符串包括字符’e’
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

签到天数: 7 天

连续签到: 0 天

[LV.3]小小虾米II

发表于 2009-3-17 23:38 | 显示全部楼层
论坛有你这样日进百贴的就人行了!
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-3-19 20:38 | 显示全部楼层
真的很不错的帖子
PCOS系统下载站:http://zhuangji.wang
回复 支持 反对

使用道具 举报

本版积分规则