网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.php&java(三).
.成功安装Mysql+Apache2+php5过程.
.PHP新手上路(八).
.其他功能.
.十四条令PHP初学者头疼问题大总结.
.PHP 和 MySQL 基础教程(四).
.php的ajax框架xajax入门与试用.
.配置最新的PHP加MYSQL服务器.
.十天学会php之第八天.
.PHP新手上路(六).
.初学者入门:细述PHP4的核心Zend.
.PHP新手上路(一).
.网络资源.
.PHP新手上路(十).
.PHP的GD库函数大全.
.php的控制语句.
.PHP5.2+APACHE2.2+BugFree1.0的安.
.PHP面向对象编程快速入门.
.与数据库连接.
.Windows 2000/XP/2003 下 IIS+PH.

新手学堂:PHP服务器变量设置的方法介绍

发表日期:2008-6-26


变量类型变化(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'

获取更多信息,请参考Unix手册关于strtod(3)的部分。

上一篇:Windows XP系统下安装apache+php+mysql 人气:8698
下一篇:lighttpd+PHP(FAST-CGI)+MySQL的学习笔记 人气:8113
浏览全部PHP服务器的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐