+ -
当前位置:首页 → 问答吧 → PHP开发中的细节你注意到这些了?【不断更新搜集整理中】

PHP开发中的细节你注意到这些了?【不断更新搜集整理中】

时间:2009-12-30

来源:互联网

本帖最后由 miikey 于 2009-12-30 21:40 编辑

1. 单引号和双引号的区别
大多PHP开发人员(包括以前的我),都不太在意它们二者的用法,其实有很大的差别;
PHP 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串,就是告诉 PHP 引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不 是双引号字符串。
    $var = ‘this is a test ‘; //这个是规范写法
    $var = “this is a test $pargam”;//也是规范写法
    $var = “this is a test”;//这个没有什么错误,但是就像上面说的
2.不要随便就复制变量
有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!
    不规范写法
    $description = $_POST['description'];
    echo $description;
    规范写法
    echo $_POST['description'];
更多
http://www.miikey.com/blog/?p=533

作者: miikey   发布时间: 2009-12-30

顶啊

作者: xiaoyulong983   发布时间: 2009-12-30

2.不要随便就复制变量

這部分有沒有相關數據??

作者: ezboy   发布时间: 2009-12-30

过去参观一下

作者: lingandlan   发布时间: 2010-01-05

第二个观点是错误的,$a = $b; 并不会使内存占用量翻倍...  对性能也几乎没任何影响。

作者: Verdana   发布时间: 2010-01-05

两个观点都是值得研究的。
第一点:可以google一下, 就会找到一些文章统计结果显示 单引号和双引号性能上没多大差别
第二点:建议楼主去看看什么是变量。 还有就是php 里面变量的存储方法

作者: sasumi   发布时间: 2010-01-13

PHP的变量是写时复制的,至于双引号规则,我还是能用单引号就用单引号的

作者: zhicheng   发布时间: 2010-01-15