有哪些php易混淆的函数及方法
1. isset()与empty()
isset()和empty()是两个常用的判断变量是否存在或为空的函数。但是它们的区别容易混淆。isset()判断变量是否存在且不为null,而empty()则判断变量是否为空或为0或null。
2. include()与require()
include()和require()都可以包含文件并把其内容引入到脚本中。区别在于:include()在引入文件时如果出现错误会发出警告,但是脚本会继续执行。而require()在出现错误时则会发出致命错误,并且终止脚本的执行。
3. strpos()与strstr()
strpos()和strstr()都是查找字符串中是否包含某个子字符串的函数。但是它们的参数顺序不同,strpos()的参数是先字符串再子字符串,而strstr()的参数为先子字符串再字符串。
4. array()与[]
array()和[]都可以用来创建数组,但[]只支持PHP5.4及以上的版本,而且它比array()更加简洁。
5. array_key_exists()与in_array()
array_key_exists()和in_array()都是查找数组中是否包含某个元素的函数。但是array_key_exists()是查找数组中是否有一个指定的键名,而in_array()是查找数组中是否有一个指定的值。
6. array_push()与array_unshift()
array_push()和array_unshift()都是向数组中添加新元素的函数。但是array_push()是向数组末尾添加新元素,而array_unshift()是向数组头部添加新元素。
7. explode()与implode()
explode()和implode()都是用来处理字符串的函数。explode()是把一个字符串分割成数组,implode()是把一个数组合并成一个字符串。
8. list()与each()
list()和each()都是数组处理函数。list()是用来把一个数组中的值赋给变量,each()是用来遍历数组并返回当前的键值对。
9. trim()、ltrim()与rtrim()
trim()、ltrim()和rtrim()都是用来去除字符串中的空白字符的函数。但是它们的区别在于:trim()去掉字符串开头和结尾的空白字符,ltrim()只去掉字符串开头的空白字符,rtrim()只去掉字符串结尾的空白字符。
10. session_start()与session_destroy()
session_start()和session_destroy()都是用来处理session的函数。session_start()是用来开启session,session_destroy()是用来销毁session。但是在使用session_destroy()时要注意,它只是销毁session中的数据,而不是删除session文件。如果要删除session文件可以使用session_unset()和session_regenerate_id()函数。
