|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我假设你目前已经可以完成一个静态页面了,当然,做的好看难看是另外一说,皮皮我的第一个网页也没好看到哪去,但是“孩子”再丑,咱们做“爹妈”的也不能嫌弃不是?这毕竟是咱的成果。 1.echo和print的区分
PHP中echo和print的功效根基不异(输入),然而二者之间仍是有纤细不同的。echo输入后没有前往值,但print有前往值,当其履行掉败时前往flase。因而可以作为一个通俗函数来利用,例如履行上面的代码后变量$r的值将为1。
$r = print "Hello World";
这意味着print可用在一些庞杂的表达式中,而echo则不可。然而,由于echo语句不请求前往任何数值,所已在代码中echo语句的运转效力要稍微快于print语句。
2.include与require的区分
include()与require()的功效也根基不异(包括),但在用法上也有一些分歧,include()是有前提包括函数,而require()则是无前提包括函数。例如鄙人面代码中,假如变量$a为真,则将包括文件a.php:
if($a){
include("a.php");
}
而require()则和include()分歧,不论$a取何值,上面的代码将把文件a.php包括进文件里:
if($a){
require("a.php");
}
在毛病处置方面,利用include语句,假如产生包括毛病,法式将跳过include语句,固然会显示毛病信息然而法式仍是会持续履行!但requre却会给你来个致命毛病。
固然,从字面意思上咱们也能够了解七分:requre是很强硬的恳求、请求的意思。
3.require_once()和include_once()语句
题外话了,由于长的像,复杂require_once()和include_once()语句分离对应于require()和include()语句。require_once() 和include_once()语句次要用于需求包括多个文件时,可以无效地防止把统一段代码包括出来而呈现函数或变量反复界说的毛病。
4.空字符串('')和NULL的区分
PHP中空字符串和NULL都是以值为0存储的,然而他们的类型其实不一样,你可以试一下echo gettype('');和echo gettype(NULL);你会发明他们打印出来的分离是string和NULL,固然还有0也轻易搅浑,你可以尝尝echo gettype(0);打印一下类型,会发明0的类型是integer(整型),可见字符串('')、NULL和0是“等值”但不等类型。
5.isset和 empty的区分
从字面意思上咱们就能够分明:empty是判别一个变量是不是为“空”,而isset 则是判别一个变量是不是已设置。然而这里有一点相对要注重起来:当一个变量值为0,empty 以为这个变量一律于空,即相当于没有设置。好比当咱们检测$id 变量的时分,当$id=0 ,用empty和isset来检测变量$id是不是已设置装备摆设,两都将前往分歧的值:empty 以为没有设置装备摆设,isset 则可以获得 $id 的值,看下边例子:
$id=0;
empty($id)?print "我是空的":print "我是$id ."; //了局:我是空的
!isset($id)?print "我是空的":print "我是$id .";//了局:我是0
6.==(等)和===(恒等)的区分
回忆下面第四条空字符串("")和NULL的区分,再来看一个例子:
'' == NULL;
'' === NULL;
运转以后你会发明第一个为true,而第二个则为false!可见==只是对照值是不是相等,而===则不仅对照值,还会对照类型,更加严厉。
7.self :: 和 this-> 的区分
在会见PHP类中的成员变量或办法时,假如被援用的变量或办法被声明成const(界说常量)或static(声明静态),那末就必需利用操作符::,反之假如被援用的变量或办法没有被声明成const或static,那末就必需利用操作符->。
别的,假如从类的外部会见const或static变量或办法,那末就必需利用自援用的self,反之假如从类的外部会见不为const或static变量或办法,那末就必需利用自援用的$this。
8.strstr() 与 strpos() 的区分
stristr() 不辨别巨细写 strstr() 辨别巨细写
函数查找字符串在另外一个字符串中第一次呈现的地位。
假如胜利,则前往字符串的其他局部(从婚配点)。假如没有找到该字符串,则前往 false。
stripos() 不辨别巨细写 strpos() 辨别巨细写
函数前往字符串在另外一个字符串中第一次呈现的地位。
假如没有找到该字符串,则前往 false。
经测试证实假如只是纯真查找判别是不是存在则strpos()的履行效力要大于strstr()
9.PHP中 HTTP_HOST 和 SERVER_NAME
不异点:
当知足以下三个前提时,二者会输入不异信息。
1. 办事器为80端口
2. apache的conf中ServerName设置准确
3. HTTP/1.1协定标准
分歧点:
1. 凡是情形:
_SERVER["HTTP_HOST"] 在HTTP/1.1协定标准下,会依据客户真个HTTP恳求输入信息。
_SERVER["SERVER_NAME"] 默许情形下直接输入apache的设置装备摆设文件httpd.conf中的ServerName值。
2. 当办事器为非80端口时:
_SERVER["HTTP_HOST"] 会输入端标语,例如:mimiz.cn:8080
_SERVER["SERVER_NAME"] 会直接输入ServerName值
因而在这类情形下,可以了解为:HTTP_HOST = SERVER_NAME : SERVER_PORT
3. 当设置装备摆设文件httpd.conf中的ServerName与HTTP/1.0恳求的域名纷歧致时:
httpd.conf设置装备摆设以下:
ServerName mimiz.cn
ServerAlias www.mimiz.cn
客户端会见域名www.mimiz.cn
_SERVER["HTTP_HOST"] 输入 www.mimiz.cn
_SERVER["SERVER_NAME"] 输入 mimiz.cn
所以,在实践法式中,应尽可能利用_SERVER["HTTP_HOST"] ,对照保险和牢靠。
假如在端口映照的情形下,而且在内网会见,用“$_SERVER['HTTP_X_FORWARDED_HOST']”对照好。
原文地址:http://www.cnblogs.com/qibuweb/archive/2012/02/21/2362009.html
刚开始觉得自己对这些多少有些基础,很简单,但是看了老师那么熟练的进行网页布局的时候,突然之间发现,其实,我的基础并没有自己想像的那么好,自己设计的页面其实并不好看,就连表格的边框为1像素都不会弄。 |
|