PHP小知识

单引号'和双引号"的区别:

 首先是单引号要比双引号执行效率要高,因为双引号会对内容进行预处理。 例如:'$value' 输出字符 $value  "$value"输出变量$value的值。

char和varchar的区别:

 char是定长而varchar是变长,char的主要特点是存储方式预分配,varchar当它的数据长度发生变化时会影响其存储的页分配。  char与varchar2是一对矛盾的统一体,两者是互补的关系.   varchar2比char节省空间,在效率上比 char会稍微差一些,即要想获得效率,就必须牺牲 一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率'。   varchar2 虽然比 char节省空间,但是如果一个varchar2列经常被修改,而且每次被修改的 数据的长度不同,这会引起‘行迁移'(row migration)现象,而这造成多余的i/o,是数据库设计和调整中要尽力避免的,在这种情况下用 char代替varchar2会更好一些。

  include和require的区别:

以下取自phpchina.cn  php的require()性能与include()相类似。不同之处在于,对include()来说,在include() 执行时文件每次都要进行读 取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换了require()语句)。这就意味着如果有包含这些指令之一的代码和 可能执行多次的代码,则使用require()效率比较高。另一方面,如果每次执行代码时相读取不同的文件,或者有通过一组文件叠代的循环,就使用 include(),因为可以给想要包括的文件名设置一个变量,当参数为include()时使用这个变量。  include 在执行时,如果 include 进来的文件发生错误的话,不会立刻停止;而 require 则会立刻终止程序,不再往下执行。  include 可以用在循环; require 不行。

注意echo和print的区别

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/zqld/p/6904286.html