php sql update 变量_厉害了,这些小技巧让你成为PHP老手!

很多人说PHP是世界上最好的编程语言,好吧,我先不讨论这些这么争议性的话题,PHP这么简单快捷也同样有很多它的弱点。今天主要介绍一些小技巧,让你瞬间变得高大上。

1. 使用 ip2long() 和 long2ip() 函数将 IP 地址由字符串转换为整数存储到数据库。这样可以减少约四分之一(15字节的字符对比4字节的整数)的存储空间,更易于计算该 IP 地址的有效范围,而且还加速了搜索和排序的效率。

ee245c74e82d100b059b0d16b4fcdc8f.png

惊讶在办公室工作的女程序员

2. 通过 checkdnsrr() 函数来验证 Email 地址的 Domain 部分是否存在。此内置函数将检查指定域名是否解析到某一 IP 地址以验证其有效性。你可以在 PHP 文档的“用户评论”部分找到一个通过此函数来验证Email地址有效性的用户自定义函数。

3. 如果你正在使用 PHP5 和 MySQL 5及以上版本, 建议使用改进的 mysqli_* 函数代替 mysql_* 函数。它的一个优秀特性就是如果你正维护的网站非常依赖数据库的话,你可以用 mysqli_stmt_prepare 来提高查询的效率。附:一些测试

45fdd6e6a73f58410746dc1366cc0c7c.png

4. 熟悉,并喜欢三元运算符。

5. 项目中,有时候需要重写某一模块,建议你在重写之前先看看 PEAR。 PEAR 是一个非常重要的资源,许多 PHP 程序员都知道它,但更多的还不知道。它是一个在线的知识库,包含了400个以上可以良好的作用于PHP程序的可重用的代码片断。除非你的项目真的很“独特”,否则你应该能够找到一个 PEAR 包,至少它可以节约时间。(参考 PECL)

9d96442529632970204691d763607575.png

6. 使用 highlight_file() 输出一个被格式化和高亮的页面源代码复本。此函数很实用,尤其是在一些类似于留言薄,IRC等应用中。显然地,一些包含敏感信息诸如数据库连接,密码等信息的源文件需要引起注意。

7. 使用 error_reporting(0) 函数避免显示潜在的敏感信息给用户。理想的情况下,应该通过修改 php.ini 将错误报告完全地禁用。然而,如果你在一台多人共享的虚拟主机上,那么你便没有权限,所以最好的办法就是增加 error_reporting(0) 在每个脚本的第一行(或者通过 require_once() 包含它),如此当程序发生错误的时候,便可避免潜在的SQL查询语句和路径信息暴露给用户。

af60461bb120b9650cfa1badf59b08ba.png

8. 存储一个大字符串到数据库之前,使用 gzcompress() 或 gzuncompress() 进行压缩/解压。此内建函数使用 gzip 算法,其明文压缩率可以达到 90%。几乎每次我用 PHP 读写一个 BLOB 字段的时候都会用到它们(除需要全文索引时)。

9. 通过引用参数从一个函数返回多个值。就像三元运算符一样,许多拘谨于编程背景的程序员早已知道它。但是,比起 Pascal 更了解 HTML 的程序员可能会为“如何从一个函数中返回多个值?难道我只能返回一个值吗?”的问题而困惑。这个问题你可以通过在变量前面加上“&”以引用来解决。

10. 完全地理解“magic quotes”和SQL注入所带来的危害。我希望众多开发人员在读到这篇文章之前就已经熟悉SQL注入。然而,我把它列在这里的原因就是它的重要性是绝对有必要知道的!

11. 循环内部不要声明变量,尤其是对象这样的变量。

12、foreach效率更高,尽量用foreach代替while和for循环。

13、循环里别用函数

for($x=0; $x < count($array); $x)

//count()函数在外面先计算

14、用i+=1代替i=i+1。符合c/c++的习惯,效率还高。

15、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作,达到PHP性能优化的目的。

16、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的。

7191a5ed185efcb1d3cc2ca4b7cd4cc0.png

17、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式。

// GOOD

$addr = strtr($addr, "abcd

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值