实例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h2>作业1:编程:实例演示substr(),strstr(),strpos()函数</h2> <?php //三个最基本最常用的子串查询函数 //1. substr($str, $offset, $length):只知道要获取子串的位置,精确查询 $str = 'PHP is the best programming language'; $str1 = 'PHP is the best programming language best'; // substr(), 索引从11开始的剩余内容,根据位置查询 echo substr($str, 11), '<br>'; echo substr($str, 11,4), '<br>'; // 区间查询,11开始取4个 echo substr($str, -3,2), '<br>'; // 倒数第3个开始取2个 echo substr($str, -3), '<br>','<br>'; // 倒数第3个开始至尾部 //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>','<br>'; // strpos($str1, $str2, $start): 根据内容查询,返回字符串首次出现的位置 echo strpos($str, 'best'),'<br>'; echo strpos($str1, 'best'); echo '<hr>'; ?> <h2>作业2:编程:实例演示str_replace(), substr_replace()</h2> <?php //字符串查找并替换的二个函数:str_replace(), substr_replace() $str = 'Peter Zhu is PHP Lecture'; //1.str_replace() echo str_replace('Zhu', 'Wang', $str), '<br>'; //删除式替换 echo str_replace('Zhu', '', $str), '<br>'; // 一次性替换多个内容 echo str_replace(['Peter','Zhu','PHP'],'王老师', $str), '<br>'; echo str_replace(['Peter','Zhu','Lecture'],['彼得','王','讲师'], $str), '<br>'; // str_ireplace(): 忽略大小写的替换 echo str_ireplace(['peter','zhu','lecture'],['彼得','王','讲师'], $str), '<br>', '<br>'; // substr_replace() echo substr_replace($str,'PHP是最好的编程语言',0), '<br>'; echo substr_replace($str,'PHP是最好的编程语言',0,strlen($str)), '<br>';//strlen();返回字符串长度 echo substr_replace($str, 'PHP中文网 ',13,0),'<br>'; echo substr_replace($str, 'JAVA',13,3),'<br>'; // 删除式替换 echo substr_replace($str, '',6,3); echo '<hr>'; ?> <h2>作业3:实例演示: usort()二维数组的排序</h2> <?php //3.数组排序使用回调方法 $arr = [45,90,22,10,3,18,33]; usort($arr, function($var1, $var2){ $res = $var1 - $var2; 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 '<pre>',var_export($arr),'<hr>'; // usort()多维数组的排序 $stu = [ ['name'=>'林心如','grade'=>98], ['name'=>'范冰冰','grade'=>55], ['name'=>'左小青','grade'=>73], ]; echo '排序之前:',var_export($stu,true),'<hr>'; //用户自定义排序规则 usort($stu, function ($m, $n) { //$m ,$n实际上还是一个数组 return strcmp($m['grade'], $n['grade']);//属于升序操作 }); echo '排序之后:',var_export($stu,true),'<hr>'; //根据数组的键进行排序 //使用自定义的回调函数,对键名进行排序 // 根据键名的第二个字母进行排序 $lang = ['html'=>'标记语言','css'=>'样式表','javascript'=>'前端脚本','php'=>'后端脚本']; uksort($lang, function($m, $n) { $a = substr($m,1,1 ); $b = substr($n,1,1 ); return strcmp($a, $b); }); echo var_export($lang),'<hr>'; ?> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例