Correction status:qualified
Teacher's comments:
<?php /** * 实例演示substr(),strstr(),strpos()函数 */ /** * 一、substr($str,$offset, $length) * 1.功能: 获取指定位置或区间内的字符串 * 2.参数: $str(必),$offset(必),$length(选) * 3.返回: 不指定长度,则返回指定位置之后所有字符串,指定区间则返回指定长度的字符串 * 4.场景: 适合只知道取串的位置,主要用于精确查询 */ $str='PHP is the best programming language'; //substr()从指定位置进行返回,适用于子串位置已知 //索引11是'best'字符串开始处,返回'b'之后全部内容 echo substr($str,11),'<br>'; //设置区间查询 //索引11开始的4个字符:'best' echo substr($str,11,4),'<br>'; //负数从结尾开始 echo substr($str,-4),'<hr>';//输出uage /** * 二、strstr($str1, $str2,bool) * 1.功能: 查找字符串的首次出现 * 2.参数: $str1(必),$str2(必)要查询的子串,bool:true,返回前面部分,false返回后面(默认) * 3.返回: 返回查到的字符串后面或前台部分字符,没找到返回false * 4.场景: 适合只知道查询内容,不知道准确位置的情况下,进行模糊查询 * 5.提示: 如果仅仅是判断查询的内容是否在字符串,应该用更快的strpos()函数 * 6.类似: stristr()不区分查找子中的大小写 */ $email='admin@php.com'; //查询'@'是否存在并返回@以及后面的内容(包括@):@php.com echo strstr($email,'@'),'<br>'; //查询'@'是否存在并返回@前面的内容(不包括@):admin echo strstr($email,'@',true ),'<hr>'; /**三、strpos($str1,$str2,$start) * 1.功能: 查找字符串首次出现的位置 * 2.参数: $str1(必),$str2(必)要找的字符串,$start(选)查询起始索引,默认从0开始 * 3.返回: 目标字符串的起始索引 * 4.场景: 快速判断某个字符串是否存在 * 5.类似: stripos()查询时不区分大小写 */ //如果只是想知道是否存在某个字符串,使用subpos()直接返回子串偏移量效率更高 echo strpos($str,'best');
点击 "运行实例" 按钮查看在线实例
<?php /** *实例演示str_replace(), substr_replace() */ $str='Peter Zhu is PHP lecture'; //1.str_palce()将PHP替换成JAVA echo str_replace('PHP','JAVA',$str),'<br>'; //2.删除指定字符:用空字符代替 echo str_replace('PHP','',$str),'<br>'; //3.要替换的多个字符串,可以存放到数组中 echo str_replace(['Peter','Zhu','PHP'],'朱老师',$str),'<br>'; //4.新字符串也可以来自数组,但数量必须要被替换数组相同 echo str_replace(['Peter','Zhu','lecturer'],['彼得','朱','讲师'],$str),'<br>'; //5.str_ireplace()这是不区分被替换字符串大小写的替换 echo str_ireplace('php','java',$str),'<br>';
点击 "运行实例" 按钮查看在线实例
<?php /** * usort()二维数组的排序 ** 记忆规律: * 1.函数名有a: 保留键值关系,适合关联数组 * 2.函数名有r:逆序(降序),由大到小排列 * 3.函数名有u:自定义回调处理 * 一、根据数组的值进行排序 * 第一组: 忽略键名,主要针对索引数组 * 1.sort($arr) 升序 * 2.rsort($arr) 降序 * 3.usort($arr,$callback) 回调 * */ //1,升序 $arr=array(1,3,8,2,4,0); sort($arr); echo var_export($arr,true),'<br>'; //2降序 $arr=[1,5,8,7,2]; rsort($arr); echo var_export($arr,true),'<br>'; $arr=[8,5,1,6,3]; //回调函数进行排序 usort($arr,function ($value1,$value2){ $res=$value1-$value2; switch ($res) { case ($res < 0): // return -1; return 1; //降序 break; case ($res > 0): // return 1; return -1;//降序 break; case ($res == 0): return 0; break; } }); echo var_export($arr,true),'<br>'; //根据数组的值进行排序,保留键值关系,主要针对关联数组 //1,升序,键值保留 $height=['黎明'=>172,'刘德华'=>180,'周星驰'=>175]; asort($height); echo var_export($height,true),'<br>'; //2,降序,键值保留 arsort($height); echo '保留键降序排序',var_export($height,true),'<hr>'; /** * 二、根据键名排序 * 1. ksort() * 2. krsort() * 3. uksort() */ //1,按键名升序 $info=['name'=>'xiaoqiang','seight'=>'mediu','hoppy'=>'Pang ball']; //按键名升序 ksort($info); echo var_export($info,true),'<br>'; //按键名降序 krsort($info).'<hr>'; $stu=[ ['name'=>'小明','grade'=>66], ['name'=>'小红','grade'=>53], ['name'=>'小军','grade'=>89], ['name'=>'小李','grade'=>91], ['name'=>'小田','grade'=>73], ]; //输出原数组 echo '排序前:',var_export($stu,true).'<br>'; //用户自定义回调排序 默认升序 usort($stu,function ($m,$n){ return strcmp($m['grade'],$n['grade']); }); //输出排序数组 echo '升序排序后:',var_export($stu,true),'<hr>'; usort($stu,function ($m,$n){ return strcmp($n['grade'],$m['grade']); }); //输出排序数组 echo '降序排序后:',var_export($stu,true),'<hr>';
点击 "运行实例" 按钮查看在线实例