设为首页 收藏本站
查看: 679|回复: 0

[经验分享] PHP心得转载

[复制链接]

尚未签到

发表于 2017-3-20 13:56:04 | 显示全部楼层 |阅读模式
  1,花括号“{}”可以像“[]”操作数组一样操作字符串,来获得指定位置的字符。


2,PHP标签“<?php ?>”在独立PHP脚本内可以不写结束标签,这是为了避免意外的空格导致输出而报错。可以用注释来标明脚本结束。


3,echo是语法结构,不是函数。后面跟多个字符串时用逗号“,”效率更好。


4,数组中,1、'1'、true为索引的时候都会强制转换为1。而'01'不会进行转换,会按照字符串处理。


5,将一个类的代码写在不同PHP标签内是不合法的,会报语法错误。而函数则没问题。


6,session与cookie的区别与关系。

  • session保存在服务器上,cookie保存在客户浏览器上;
  • session保存可以是硬盘上的文件、数据库、memcached,cookie可以保存到硬盘(持久cookie)和内存里(会话cookie);
  • session_id传递方式有两种,一是cookie,二是get方式(可以通过 session.name 配置项来指定保存session_id的变量名称)。



7,获得当前时间戳用$_SERVER['REQUEST_TIME']代替time(),可以减少一次函数调用,效率更高。


8,检查字符串是否超过某长度可以用isset($str{n})的语法代替strlen()函数,例如:判断$a的长度是否超过5,可以用isset($a{5})来判断。这样效率更高。


9,header()函数过后要exit,否则后面代码还会执行。


10,大数组用引用传递,减少内存占用,用完就unset()。


11,数据库连接在使用的时候才建立,完全用完了记得关闭连接。


12,set_time_limit()的局限性。只能限制脚本本身的运行时间,对于外部执行的时间无法控制,例如:system()函数,流操作,数据库查询等。


13,abstract和interface的区别:

  • abstract可以有非抽象方法,interface不行;
  • abstract对方法的访问控制可以有protected,而interface必须为public;
  • abstract只能被继承,当然一个类只能继承一个类,而一个类则可以实现多个interface。



14,echo,print,print_r,var_dump,var_export的区别:

  • echo,print是语法结构,不是函数,而且只能显示基本类型,不能显示数组和对象,其他都是函数,可以显示数组和对象;
  • echo 可以显示多个变量,用逗号隔开;
  • print_r第二个参数可以决定是输出变量,还是将变量作为返回值;
  • var_dump会打印变量的详细信息,例如长度和类型,而且可以传递多个变量作为参数;
  • var_export返回的是合法PHP代码格式。



15,验证邮箱: filter_var($email, FILTER_VALIDATE_EMAIL);


16,获取文件扩展名的方法:

  • 一,pathinfo($filename),取extension的值。


  • 二,end(explode('.',$filename))。

17,文件锁定函数flock——的常量参数。
共享锁(读取操作)——LOCK_SH
独占锁(写入操作)——LOCK_EX
释放锁(无论共享还是独占)——LOCK_UN
防堵塞——LOCK_NB
可以通过fclose()函数释放锁定操作。
18,验证字符串是否是合法IP:
不用正则,直接用ip2long(),合法则返回数字,不合法则返回false。
19,PHP 5.3开始,可以使用__DIR__来获得当前脚本所在目录,不用再realpath(__FILE__)了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-352498-1-1.html 上篇帖子: PHP缓存实例 下篇帖子: php-asp-MSSQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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