PHP一点学习心得分享

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__)了。

转载于:https://my.oschina.net/u/581981/blog/64312

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值