【数组排序方法总结】
数组的排序
1.注意
1.1数组为引用传参,所有原数据会被改写;
1.2数组元素的类型建议全部相同,否则会产生不可预见结果
1.3排序成功返回: true,失败返回: false
2.可用常量
2.1 SORT_REGULAR: [默认]正常比较单元(不改变类型)
2.2 SORT_NUMERIC: 单元被作为数字来比较
2.3 SORT_STRING: 单元被作为字符串来比较
2.4 SORT_NATURAL: 单元以“自然的顺序”对字符串进行排序
2.5 SORT_FLAG_CASE: 不区分大小写排序字符串
3.排序分类
一. 正序: associate(关联的), key(键),前面加上这二个单词的首字母表示
1. sort(&$arr, $flag) 按值升序排列,键名按索引方式重置
2. asort(&$arr,$flag) 按值升序排列,键名保留与值的对应
3. ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变
二、反序: reversal 反转,函数前添加一个r即可
1. rsort(&$arr, $flag):对数组逆向排序
2. arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系
3. krsort(&$arr, $flag):对数组按照键名逆向排序
三、自定义回调函数进行排序: usort(&$arr, functoin($a, $b){ #code })
注意: 仅对值进行排序,忽略键名(即会重置键名)
【字符串长度计算总结】
1.strlen($str):获取字节表示的字符串长度
2.mb_strlen($str, $encoding) :获取字符数表示的长度
【字符串与数组之间的转换】
1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1
2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
【字符串的查找与替换】
1.strpos($str1,$str2, $offset)查找$str1在$str1中首次出现的位置
2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false,如果确定$str2是$str1的子串,推荐使用strpos(),速度更快
3.str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数
4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串