PHP服务器变量设置的方法介绍
变量类型改变(juggling)
PHP不需要(或者说不支持)在声名变量清晰他的变量类型;一个变量的类型是由这个变量被运用的前后关系来决议的,也即是说,假如你给一个变量var赋了 一个字符串的值,var就变成了字符串变量。假如你再将一个整数赋值给var,他又变成了一个整数型变量。
一个PHP主动转化变量类型的比如是加法的操作符’+’。假如任何一个操作数都是双精度数,那么一切的操作数被当作双精度数求值,而且成果也是双精度数。 不然,操作数将被认为是整数,成果也将会是整数。注意这并不影响每个操作数自身的变量类型,仅有的改变即是操作数在核算的进程中被怎么处置。
$foo = "0"; // $foo 是一个字符串 ,值是“0”(ASCII 48)
$foo++; // $foo 是一个字符串,值是“1”(ASCII 49)
$foo += 1; // $foo 现在是一个整数(2)了
$foo = $foo + 1.3; // $foo 现在是一个双精度数(3.3)了
$foo = 5 + "10 Little Piggies"; // $foo 是一个整数 (15)
$foo = 5 + "10 Small Pigs"; // $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 + "10 Small Pigs"; // $foo 是整数 (11)
$foo = 1 + "10 Little Piggies"; // $foo 是整数 (11);
// 这个字符串包含字符'e'
推荐文章
2024-01-16
2024-01-11
2024-01-04
2023-12-04
2023-11-20
2023-11-14
2023-11-06
2023-10-30
2023-10-13
2023-10-10
稳定
产品高可用性高并发贴心
项目群及时沟通专业
产品经理1v1支持快速
MVP模式小步快跑承诺
我们选择声誉坚持
10年专注高端品质开发