PHP核心知识阶段总结_php核心知识阶段总结
PHP核心知识阶段总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“php核心知识阶段总结”。
Require和require_once区别
Include和include_once与require和require_once行为是相类似的,因此只说一类就可以了 区别只是报错级别的不同。
加上once代表包含文件只被包含一次。(隐含的说,就是有require_once会检查包含文件是否已包含过,如已经包含过,则不再包含)有once的好处
是不会重复包含文件,如函数文件(重复包含该报错了)可以避免其被重复包含 有once的弊端
因为每次包含时都需要检查文件是否包含,效率低
由于once每次检查,效率较低,现在通常靠程序结构合理性来达到不重复包含。而很少再使用once 数组函数
统计函数:
统计数组元素函数:Count(数组变量,是否进行递归统计);求和函数:Array_sum(数组变量);求乘积函数:Array_product(数组变量);数组创建函数:
Range(起始值,结束值,步进);——建立一个包含指定范围单元的数组 Array_fill(起始下标,填充个数,填充的值);——用给定的值填充数组
Array_combine(数组变量1,数组变量2);——把两个数组混合成一个新数组,第一个数组的值作为键,第二个数组的值作为相应的值。用来混合的两个数组要求元素数要相等,否则报错
数组判断函数(重点!)
In_array(变量,数组)用于判断变量是否是数组中的元素的值
注意:此函数经常用于表单提交数据的合法性判断。避免提交的数据不在配置数组中。Array_key_exists()判断变量是否是数组中的某个键 同样经常用于表单提交数据的合法性判断
数组和字符串相互转换函数(重点!)
Implode(分隔符字符串,数组变量)把数组元素用分隔符拼成一个字符串
Explode(分隔符,字符串)把字符串用分隔符断开分为数组的元素 数组排序函数:
Sort()把数组元素按照由小到大顺序重新排列 Rsort()数组元素按照由大到小顺序重新排列 Ksort()把数组元素按照键由小到大排列 Krsort()把数组元素按照键由大到小排列
Asort()把数组元素按照值的大小从小到大重新排列,和sort()的区别是保持键不变 Arsort()和asort()一样,只是值是按从大到小排列 Natsort()自然排序
Usort(数组变量,用户自定义函数名)使用用户自定义函数来排序
键值操作函数
Array_keys(数组变量)返回数组中所有元素的键 Array_values(数组变量)返回数组中所有元素的值 Shuffle(数组变量)将一个数组的元素打乱顺序
Array_flip(数组变量)返回一个原数组键值交换位置的新数组
注意:当原数组中有相同值的情况时,后面的覆盖前面的 Array_unique(数组变量)会去除数组中重复的元素
实际应用,把要发送的邮件列表进行去重工作等。
模拟栈操作:
栈:数据进入栈区就有次序问题。栈也分为顶部(右)和底部(左)。
Array_shift(数组变量);从头部弹出一个元素(删除第一个元素)
Array_unshift(数组变量,’插入的单元’);在头部添加一个数据(在数组开头插入一个或多个单元)
Array_push(数组变量,’插入单元’);在尾部添加一个数据(将一个或多个单元数组的末尾(入栈)
Array_pop(数组变量);从尾部弹出一个数据(删除数组中的最后)回调函数:
Array_map(回调函数,数组变量1,数组变量2,……..);把回调函数作用于数组的每个元素上
Array_walk(数组变量,回调函数);同样是把回调函数作用于每个元素上
注意:回调函数是不能够影响到键的数组拆分合并函数
Array_merge(数组变量1,数组变量2,…)功能是把多个数组合并成一个 Array_chunk(数组变量,元素数)把数组分割成多个小数组元素 Array_slice(数组变量,开始下标,取的数量)从数组中取出一段 Array_rand(数组变量,指定返回几个元素的键)随机从数组中取出几个元素(取的是键)(从数组中随机取出一个或多个单元)字符串函数
Gbk一个汉字占用2个字节。Utf-8一个汉字占用3个字节
常用函数
Strlen()得到字符串的长度它是使用字节来计算长度的 Md5()把参数转变为md5编码的字符串 Str_shuffle()对字符串进行打乱次序
注意:字符串中不要有汉字,否则可能出现乱码的字符串
Strrev()将字符串中的字母顺序反转同样字符串中不要有汉字,否则会乱码
Str_pad(目标字符串,填充后长度,填充用的字符串,在左、右或两侧)使用一个字符串来填充另一个字符串为指定长度 Str_repeat(字符串,重复次数)Str_split(字符串,每一段分割的长度)把一个字符串分割成数组
字符串查找和替换函数:
*****mb_substr(目标字符串,起始位置,长度);—此函数是用来截中文与英文字符串的函数,可以解决截取中文汉字哦!
Substr(目标字符串,起始位置,长度);—返回字符串的子串
substr_count(目标字符串,子字符串);--计算“子字符串”出现的次数。(返回子字符串在目标字符串中出现的次数。)
strpos(目标字符串,要查找的字符串);—查找字符串首次出现的位置
strstr(目标字符串,子字符串);--查找字符串的首次出现,并返回要查找的字符串第一次出现的位置直到目标字符串的末尾。
Strrpos(目标字符串,要查找的字符串);—计算指定字符串在目标字符串中最后一次出现的位置
strrchr(目标字符串,要查找的字符串);—查找指定字符在字符串中的最后一次出现,并返回要查找的字符串最后一次出现的位置直到目标字符串的末尾。
Chunk_split(string,length,end);—把字符串分割为一连串更小的部分(将字符串分割成小块)。解释:string:必需。规定要分割的字符串。
length:可选。一个数字,定义字符串块的长度。
ed:可选。定义每个字符串块之后放置的内容。
str_replace(要被替换掉的子字符串,替换成的字符串,原字符串);—字符串替换 去除字符函数
有3个函数
Trim()去除字符串两侧的指定字符(空白字符或者其它字符)Ltrim()去除左侧 Rtrim()去除右侧
Trim()一般我们经常用于接收表单的字符串参数后去除掉两端的空格 默认情况是去除空格(但是还是包括其它的一些如n等)示例代码:
echo trim($str4,'it');?> 其结果显示:cas 注意:第2 个参数是字符的列表,不是指字符串,而是看成单个字符
大小写转换函数
strtolower — 将字符串转化为小写 strtoupper — 将字符串转化为大写
lcfirst — 使一个字符串的第一个字符小写 ucfirst — 将字符串的首字母转换为大写
ucwords — 将字符串中每个单词的首字母转换为大写 注意:英文认为空格是单词的分隔符 面试题:
把get_student_info字符串转换成大驼峰法方式GetStudentInfo
//面试题:把get_student_info字符串转换成大驼峰方式GetStudentInfo
$str5='get_stuendt_info';
echo $str5=str_replace('_',' ',$str5);
echo '';
echo $str5=ucwords($str5);
echo '';
echo $str5=str_replace(' ','',$str5);?>
和数组元素指针相关的函数
Key()取出当前元素的键 Current()取出当前元素的值
Next()控制指针向后移动一次,指向下一个元素 Each()返回数组中当前的”键值对”并将数组指针向后移动一步
Prev()让指针向前移动一次,指向上一个元素
End()让指针指向最后一个函数 Reset()重置指针,让指针指向第一个元素
总结:可以使用key()+ current()+ next()实现了使用for循环遍历键值数组 使用while循环结构来实现
当数组的指针非法时,key()返回null,利用判断指针,key()+ current()+ next()遍历数组 例子如下:
$arr=array('dbhost'=>'localhost','dbuser'=>'root','dbpwd'=>'123456','dbport'=>'3306');
while(key($arr)!=null){
echo key($arr),“=>”,current($arr),'';
next($arr);
}
?>
总结:遍历数组有一下几种方法,有foreach, key()+current()+next();for, each+while, while+list()+each();注意:list()把数组中的值赋给一些变量;
例子如下:
list($a, list($b, $c))= array(1, array(2, 3));var_dump($a, $b, $c);
?> 其结果:int(1)int(2)int(3)
数组拷贝时,不仅会拷贝数组的数据,也会拷贝数组的指针位置。