PHP中容易出错的小细节_第1页
PHP中容易出错的小细节_第2页
PHP中容易出错的小细节_第3页
PHP中容易出错的小细节_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——PHP中容易出错的小细节PHP中轻易出错的小细节

细节抉择成败,那么在PHP中有哪些小细节是轻易出错的呢?一起来看看吧!梦想对大家有所扶助,更多内容请关注应届毕业生网!

留神echo和print的识别

PHP中echo和print都是输出的作用,但是两者之间还是有轻微的区别。echo输出后没有返回值,但print有返回值,当其执行失败时返回flase。因此可以作为一个普遍函数来使用,例如执行$r=printHelloWorld;变量$r的值将为1。而且代码中echo语句的运行效率要略快于print语句。

留神空字符串和NULL的识别

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

分清==等于和===全等于的识别

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

分清include与require的识别

include与require的功能也根本一致,但在用法上也有一些不同,include是有条件包含函数,而require那么是无条件包含函数。例如在下面代码中,假设变量$a为真,那么将包含文件a.php。而require那么和include不同,不管$a取何值,下面的代码都会把文件a.php包含,譬如:

在错误处理方面,使用include语句,假设发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会持续执行。但是,require语句会提示一个致命错误。

留神isset和empty的识别

empty是判断一个变量是否为"空',而isset那么是判断一个变量是否已经被设置。

分清self::和this--的识别

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

foreach循环后留下悬挂指针

这里有个问题好多人会含混。循环终止后,$value并未销毁,$value其实是数组中结果一个元素的引用,这样在后续对$value的使用中,假设不知道这一点,会引发一些莫名奇异的错误:看看下面这段代码:

上面代码的运行结果如下:

1,2,3

1,2,3

1,2,2

你猜对了吗?为什么是这个结果呢?

我们来分析下。第一个循环过后,$value是数组中结果一个元素的引用。其次个循环开头:

第一步:复制$arr[0]到$value留神此时$value是$arr[2]的引用,这时数组变成[1,2,1]

其次步:复制$arr[1]到$value,这时数组变成[1,2,2]

第三步:复制$arr[2]到$value,这时数组变成[1,2,2]

综上,最终结果就是1,2,2

制止这种错误最好的手段就是在循环后立刻用unset函数销毁变量:

疏忽Unicode/UTF-8问题

php编程中,在处理非ascii字符时,会遇到一些问题,要很提防的去对待,要不然就会错误遍地。举个简朴的例子,strlen$name,假设$name包含非ascii字符,那结果就有些出乎意料。在此给出一些建议,尽量制止此类问题:

最好使用mb_*函数来处理字符串,制止使用老的字符串处理函数。这里要确保PHP的"multibyte'扩展已开启。

数据库和表最好使用uni

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论