细节决定成败。——成为PHP大师你不得不知的几个细节


timg (1).jpg

1. include和require的小区别:

        include是包含,如果指定的文件无法定位,代码继续运行,require是必须,但用require时如果未找到指定的文件,代码会停止运行并抛下一个致命的错误。在这两种情况,文件未找到时都会报错,但只有require语句会完全终止代码的运行。


2. 注意echo和print的区别:

        print输出完成时返回1,只支持一个参数,而echo是支持多个参  数。echo也可以用 PHP短标记和等号=组合,只要short_open_tag设置为on,但默认是off,<?  ="sending out some text";?>


3.单引号和双引号引起字符串:

        ” ” 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
        ‘ ‘ 单引号里面的不进行解释,直接输出。

        一般情况下两者是通用的.但双引号内部变量会解析,单引号则不解析.


        字符串的连接.

        这是个麻烦的问题.一般来说,变量值,直接包含在双引号中就可以了.另外字符串的叠加    用"."字符.

        在复杂的情况里可以用大括号来包含,PHP便知道这是一个完整的东西,里面的引号不会影响  到外面的引号关系.

        与html的混合也很简单,最好养成HTML中全部用双引号,PHP中尽量用单引号的习惯.这样方便  把大段的HTML代码复制过来,只要头尾加上单引号就是一个正确的字符串了.几百行的HTML代码  也不用担心PHP引号错乱.


4.注意空字符串('')和NULL的区别:

        PHP中空字符串和NULL都是以值为0存储的,但是他们的类型并不一样,前者是string,而后  者是NULL,可见字符串('')、NULL值相等但类型不等。


5.解析错误:

        例如,Parse error:解析错误,unexpected T_WHILE in c:program filesapache     groupapachehtdocsscript.php on line 19每次确定了前一错误时,解析错误一个接一个地不断出现,PHP在第一个解析错误之后就停止执行脚本。而且,解析错误具有很少的信息,几乎不报告错误所在的行号。比如表达式中使用了预定义的关键字,例如:while=10;while就是一个预定义的关键字,不能分配给它一个值。预定义关键字包括while、function等,我们不能使用这些预定义关键字来命名变量,否则编译器就会报错。其中,T_IF代表if(),T_WHILE代表while(),T_FOR代表for()等。

6.分清self::和this-->的区别

        在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(常量)或者static(静态属性),那么就必须使用域操作符::,而如果被引用的变量或者方法没有被声明成const或者static,那么就使用指向操作符->。


7.分清==(等于)和===(全等于)的区别

        两者都属于比较运算符,==(等于)只比较值是否相等,而===(全等于)则不但比较值是否相等,还会比较类型是否相等,它更为严格。

8.PHP中的超全局变量

        从PHP 4.2.0 开始,register_globals 的默认值为 off,这样一来,以前的很多可以直接使用的变量,如 $PHP_SELF 或者你设定的SESSION变量都不能用 “$变量名”的形式访问了,这可能会给你带来很多不变,但却有助于安全性的提高。访问这些变量,你需要使用PHP 超全局变量,如下:    

$_SERVER

        变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组。以前的$PHP_SELF对应$_SERVER['PHP_SELF'],你可以使用phpinfo来查看你的$_SERVER变量。

$_GET

        经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组。

$_POST

        经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组。

$_COOKIE

        经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组。

$_SESSION

        当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组。

$_FILES

        经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组。

$_ENV

        执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组。对于$_FILES变量:(文件域字段为“myfile”)

$_FILES['myfile']['name']

        客户端机器文件的原名称(包括路径)。

$_FILES['myfile']['type']

        文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。

$_FILES['myfile']['size']

        已上传文件的大小,单位为字节。

$_FILES['myfile']['tmp_name']

        文件被上传后在服务端储存的临时文件名(包括路径)。

$_FILES['myfile']['error']

        和该文件上传相关的错误代码。['error'] 是在 PHP 4.2.0 版本中增加的,当 php.ini 中的 register_globals 被设置为 on 时,$myfile_name 等价于 $_FILES['myfile']['name'],$myfile_type 等价于 $_FILES['myfile']['type']等。

        以上就是我总结的一些PHP中简单但是很关键的小知识,希望大家看了以后可以对php有更深的理解,同时也让自己的编码思路更加流畅


关键词:
返回列表

相关文章

相关案例