仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 738|回复: 18
打印 上一主题 下一主题

[学习教程] PHP编程:PHP常常轻易记乱的常识

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-3 23:32:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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像素都不会弄。
老尸 该用户已被删除
18#
发表于 2015-4-12 03:44:36 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
17#
发表于 2015-4-11 08:10:08 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
分手快乐 该用户已被删除
16#
发表于 2015-4-11 05:08:54 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
精灵巫婆 该用户已被删除
15#
发表于 2015-4-5 04:14:24 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
海妖 该用户已被删除
14#
发表于 2015-4-4 15:54:29 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
飘飘悠悠 该用户已被删除
13#
发表于 2015-3-26 08:11:21 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
柔情似水 该用户已被删除
12#
发表于 2015-3-23 23:24:29 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
若相依 该用户已被删除
11#
发表于 2015-3-23 05:04:05 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
第二个灵魂 该用户已被删除
10#
发表于 2015-3-16 22:22:15 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
谁可相欹 该用户已被删除
9#
发表于 2015-3-9 13:43:34 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-6 02:11:11 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
爱飞 该用户已被删除
7#
发表于 2015-2-24 02:09:39 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
蒙在股里 该用户已被删除
6#
发表于 2015-2-18 12:02:41 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
飘灵儿 该用户已被删除
5#
发表于 2015-2-6 20:00:29 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
深爱那片海 该用户已被删除
地板
发表于 2015-2-6 07:38:58 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
只想知道 该用户已被删除
板凳
发表于 2015-2-5 05:09:51 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
admin 该用户已被删除
沙发
发表于 2015-2-5 04:20:55 | 只看该作者
曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线  \\\\\\\'_\\\\\\\' ;
小魔女 该用户已被删除
楼主
发表于 2015-2-4 01:37:10 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-11 05:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表