*1. 数组的排序方法总结
* 注意:
* 1.数组为引用传参,所有原数据会被改写;
* 2.数组元素的类型建议全部相同,否则会产生不可预见结果
* 3.排序成功返回: true,失败返回: false
*
* 可用常量:
* 1.SORT_REGULAR: [默认]正常比较单元(不改变类型)
* 2.SORT_NUMERIC: 单元被作为数字来比较
* 3.SORT_STRING: 单元被作为字符串来比较
* 4.SORT_NATURAL: 单元以“自然的顺序”对字符串进行排序
* 5.SORT_FLAG_CASE: 不区分大小写排序字符串
*
* 一. 正序: 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 })
* 注意: 仅对值进行排序,忽略键名(即会重置键名)
2 字符串长度计算
<meta charset="UTF-8"> <?php echo '<p>字符串函数(一):长度计算</p><hr color="green">'; /医院 * 1.strlen($str) * 2.mb_strlen($str, $encoding) */ $siteName = '我是php菜鸟杜苏'; //获取内部字符编码集 $encoding = mb_internal_encoding(); echo '内部字符编码集: ',$encoding,'<br>'; //1.strlen($str):获取字节表示的字符串长度 //utf8模式下,一个中文字符用三个字节表示 echo strlen($siteName),'<br>'; echo '<hr color="red">'; //2.mb_strlen($str, $encoding) :获取字符数表示的长度 echo mb_strlen($siteName, $encoding),'<br>'; echo '<hr color="red">'; //省略第二个参数,会使用系统默认的字符编码集,当前是utf-8 echo mb_strlen($siteName),'<br>'; //返回值不变 echo '<hr color="red">';
点击 "运行实例" 按钮查看在线实例
3. 字符串与数组之间的转换
<meta charset="UTF-8"> <?php echo '<p>字符串函数(三):字符串与数组之间的转换</p><hr color="green">'; /医院 * 1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1 * 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量 * 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔 */ echo '<pre>'; $str = 'bj北京,sh上海,sz深圳,yc宜昌'; echo '<p>原始字符串:'.$str.'</p>'; echo '<hr color="red">'; //1.str_split($str,$length=1)按字符数量,将字符串分割为数组,默认为1 print_r(str_split($str)); //默认一个字符转为数组中的一个元素 print_r(str_split($str,5)); //5个一组进行转换 echo '<hr color="red">'; //2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量 print_r(explode(',',$str)); //用','号进行分割字符串 print_r(explode(',',$str,2)); //指定数组必须是2个元素,最后一个元素保存全部剩余数据 echo '<hr color="red">'; //3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔 $arr2 = explode(',', $str); echo implode(' ', $arr2), '<br>'; //用空格分隔 echo implode(',',$arr2), '<br>'; //用,分隔 echo implode('--',$arr2), '<br>'; //用--分隔
点击 "运行实例" 按钮查看在线实例
4. 字符串的查找与替换
<meta charset="UTF-8"> <?php echo '<p>字符串函数(六):查找与替换</p><hr color="green">'; /医院 * 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):替换字符串的子串 */ $str = 'www.php.cn'; //1.strpos($str,$needle, $offset)查找字符串首次出现的位置 echo strpos($str, 'p'),'<br>'; //默认从头开始查找 echo strpos($str, 'p', 5),'<br>'; //从索引5开始查找 echo '<hr color="red">'; //2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false echo strstr($str, 'php'),'<br>'; //返回子串及后面部分 echo strstr($str, 'php', true),'<br>'; //参数true,会返回子串前面部分 echo '<hr color="red">'; //3.str_replace($str1, $str2, $str3, $num):子串替换, echo str_replace('php.cn','see1000.com',$str), '<br>'; echo '<hr color="red">'; //4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串 //在$str中,从第5个索引位置起的5个字符,用'pppph'进行替换 echo substr_replace($str,'wppph', 5, 5);
点击 "运行实例" 按钮查看在线实例