Twitter 今天即将飞回广州00:42夜已深,刚写完日记 杭州 释然 回味 “我会回来滴”灰大狼
 PHPma >> Php > PHP中一些常忽略的FAQ问题

大多滴时候,我们都是想当然,而很少去注意如下滴细节问题,其实这些常常忽略滴问题在PHP手册FAQ中都有示例,而大多滴PHP程序员都没认真去看手册,或者去注意这些问题。

经常听说如下滴一句话“细节决定成败”,细心与否很大程度上决定你滴职位是高级还是低级PHP程序员,更决定着你滴薪水!大师是什么?你懂滴别人不懂,那你就是大师...

FAQ示例往往更具有说服力,示例来自手册


想当然了吧!真实滴效果是怎么样,自己试一下就知道。函数中最好是调用返回值,而不是用来输出,不然得不到预想效果滴。 #要在一个表达式中(例如在上面的例子中和其它字符串连接)使用函数的结果,需要 return() 这个值,而不是 echo() 它。

再看一个例子,自己建一个PHP页面运行一下看看是什么效果呢?你都注意了吗?



在 PHP 中,一段代码的结束标记要么是“?>”要么是“?>\n”(\n 表示换行)。因此在上面的例子中,输出的句子将显示在同一行中,因为 PHP 忽略了代码结束标记后面的换行。这意味着如果要输出一个换行符,需要在每段 PHP 代码的结束标记后面多加一个换行。

PHP 为什么这么做呢?因为在格式化正常的 HTML 时,这样通常会更容易。假如输出了换行而你不需要这个换行时,就不得不用一个非常长的行来达到这样的效果,或者让产生的 HTML 页面的源文件的格式很难读。

获取一些报警:“Warning: Cannot send session cookie - headers already sent...”或者“Cannot add header information - headers already sent...”

函数 header(),setcookie() 和 session 函数需要在输出流中添加头信息。但是头信息只能在其它任何输出内容之前发送。在使用这些函数前不能有任何(如 HTML)的输出。函数 headers_sent() 能够检查脚本是否已经发送了头信息。若是在Apache的模块方式运行 PHP,那么函数 getallheaders() 可以做这件事,请自行打印出来看效果,如下是本人在本地机器打印出来滴代码。

Array
(
    [Accept] => */*
    [Accept-Language] => zh-CN
    [User-Agent] => Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; 
	Trident/4.0; GTB6.5; SLCC2; .NET CLR 2.0.50727;
	 .NET CLR 3.5.30729; .NET CLR 3.0.30729; CMNTDF)
    [Accept-Encoding] => gzip, deflate
    [Host] => www.my.cn
    [Connection] => Keep-Alive
)

PHP手册中还有很多常忽略掉滴FAQ,花些时间去翻阅挺不错滴,兴趣是最好滴老师——PHP程序员滴葵花宝典就是PHP手册。

                            /**
                             ** 温馨提示:本站所有文章均来自PHPma精心编辑,99%原创,转帖之人需保留本站的链接
                             ** 本站所有文章仅代表本人观点,转帖概不负责
                             ** 作者:PHPma
                             **/
                        

About PHPma

PHPma一个主要关注PHP技术为主的技术杂烩站点

一个在PHP技术圈子里面活跃D虾米,分享一个草根IT程序员D劳动成果,亦是此草根IT程序员发泄的场所。

Email:phpmacom@gmail.com

网站分类

copyright 2010 - 2012, 版权所有  All Rights Reserved