Correction status:qualified
Teacher's comments:
通过字符串函数来查询和修改字符串,常用的字符串函数有:substr()精确查询 strstr()定位查询 strpos()字符串首次出现位置
<?php //1.substr($str,$offset,$length):只知道要获取子串的位置,精确查询 $str = 'PHP is the best programming language'; $str1 = 'JAVA is the best language'; echo substr($str,11),'<br>'; //substr(),索引从11开始的剩余内容,根据位置查询 echo substr($str,11,4),'<br>'; //区间查询,索引11开始取4个 echo substr($str,-3),'<br>'; //索引从最后一个开始,取3个 echo substr($str,-3,4),'<br>'; //取负数开始时,不再有第三个参数 //strstr($str1,$str2,bool) $email = 'admin@php.cn'; //查询@是否存在,默认返回@以及后面的内容 echo strstr($email,'@'),'<br>'; // 传入第三个参数:true,仅返回@符之前的内容(不包含@) echo strstr($email,'@',true),'<br>'; echo strstr($email,'@',true),strstr($email,'@'),'<br>'; // strpos($str1,string,$start):根据内容查询,返回字符串首次出现的位置 echo strpos($str,'best');
点击 "运行实例" 按钮查看在线实例
总结:
1、substr($str,$offset,$length)通过位置,或区间精确查询,$offset可为负数(尾部开始)
2、strstr($str,'*')通过已知字符串中的字符来查找,并返回数值或内容
3、strpos($str,string)通过内容查询,返回字符串首次出现的位置
字符串替换,str_replace()可以指定字符更换,也可以通过空字符串来删除
<meta charset="utf-8"> <?php //str_repalce(), substr_replace $str = 'PHP is the best programming language'; // 1.str_replace() echo str_replace('PHP','JAVA',$str),'<br>'; //删除式替换 echo str_replace('the best','',$str),'<br>'; //一次性替换多个内容 echo str_replace(['PHP','best','the'],'老王',$str),'<br>'; echo str_replace(['PHP','best','the'],['JAVA','lonely','wow'],$str),'<br>'; // str_ireplace():忽略大小写的替换 echo str_ireplace('php','JAVA',$str),'<br>'; echo '<hr>'; // substr_replace() echo substr_replace($str,'PHP是最好的编程语言',0),'<br>'; echo substr_replace($str,'PHP是最好的编程语言',0,strlen($str)),'<br>'; echo substr_replace($str,'PHP中文网',13,0),'<br>'; echo substr_replace($str, 'JAVA',13,3),'<br>'; // 删除式替换 echo substr_replace($str,'',6,3);
点击 "运行实例" 按钮查看在线实例
<?php header("content-type:text/html;charset=utf-8"); $stu1 = [ ['name'=>'张三','grade'=>99], ['name'=>'李四','grade'=>50], ['name'=>'王五','grade'=>70], ]; usort($stu1, function($m,$n){ return strcmp($m['grade'],$n['grade']); }); echo '<pre>',var_export($stu1,true),'<hr>'; $stu2 = [ ['name'=>'张三','grade'=>99], ['name'=>'李四','grade'=>50], ['name'=>'王五','grade'=>70], ]; usort($stu2, function($m,$n){ $res = $m['grade'] - $n['grade']; switch ($res) { case ($res < 0): return -1; break; case ($res > 0): return 1; break; case ($res == 0): return 0; break; } }); echo var_export($stu2,true);
点击 "运行实例" 按钮查看在线实例