实例
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>字符串函数</title> <style type="text/css"> span{ font-weight:bold; } </style> </head> <body> <pre> <h3>数组排序</h3> <?php //数组排序 echo '<span>根据数组的值进行排序,sort()升序,rsort()降序,usort()用户自定义排序(多用于二维数组的排序)</span><br>'; $arr1 = array(14,1,45,67,97,34,75,23); echo var_export($arr1),'<br>'; sort($arr1); echo '用sort()升序后:',var_export($arr1),'<br>'; $arr1 = array(14,1,45,67,97,34,75,23); sort($arr1); echo '用rsort()降序后:',var_export($arr1),'<br>'; $arr2 = array( array('name'=>'张三','course'=>'语文','grade'=>85), array('name'=>'李四','course'=>'语文','grade'=>72), array('name'=>'王五','course'=>'语文','grade'=>90), array('name'=>'赵六','course'=>'语文','grade'=>66), array('name'=>'Peter','course'=>'语文','grade'=>59), array('name'=>'Tom','course'=>'语文','grade'=>90) ); usort($arr2,function($grade1,$grade2){ $res=$grade1['grade']-$grade2['grade']; switch($res){ case ($res<0): //echo $grade1['grade'],'-',$grade2['grade'],'=',-1,'<br>'; return -1; break; case ($res>0): //echo $grade1['grade'],'-',$grade2['grade'],'=',1,'<br>'; return 1; break; case ($res=0): //echo $grade1['grade'],'-',$grade2['grade'],'=',0,'<br>'; return 0; break; } }); echo '用usort()排后:',var_export($arr2),'<br>'; //根据数组的键进行排序 echo '<span>根据数组的键进行排序,ksort()升序,krsort()降序,uksort()用户自定义排序</span><br>'; $arr3=array('html'=>'文本标记语言','php'=>'服务器语言','css'=>'样式表','javascript'=>'脚本语言'); ksort($arr3); echo '用ksort()排后:',var_export($arr3),'<br>'; $arr3=array('html'=>'文本标记语言','php'=>'服务器语言','css'=>'样式表','javascript'=>'脚本语言'); krsort($arr3); echo '用krsort()排后:',var_export($arr3),'<br>'; $arr3=array('html'=>'文本标记语言','php'=>'服务器语言','css'=>'样式表','javascript'=>'脚本语言'); uksort($arr3,function($var1,$var2){ $v1=substr($var1,1,1); $v2=substr($var2,1,1); $res=strcmp($v1,$v2); switch($res){ case ($res<0): return -1; break; case ($res>0): return 1; break; case ($res=0): return 0; break; } }); echo '用uksort()排后:',var_export($arr3),'<br>'; ?> <hr> <h3>substr(),strstr(),strpos()函数的使用</h3> <?php $str1='I want to be a good programmer!'; echo '原字符串:',$str1,'<br>';; echo '<span>substr($str,$start [,$length])截取字符串,从开始位置截取length长度的字符串</span><br>'; //正数从0开始,倒数从-1开始 echo substr($str1,0),'<br>'; //返回所有字符串 echo substr($str1,7),'<br>'; //从第7位返回所有 echo substr($str1,-11),'<br>'; //返回倒数第11位及后面所有 echo substr($str1,15,4),'<br>'; //从第15位取4个字符 echo substr($str1,15,-4),'<br>';//从第15位取到倒数第4位 echo '<span>substr($str,$need)查找字符串的首次出现,返回第一次出现的及后面所有的字符串,区分大小写</span><br>'; echo strstr($str1,'t'),'<br>'; //返回第一次出现的及后面所有的字符串 echo '<span>subpos($str,$need)查找字符串首次出现的位置</span><br>'; echo 't第一次出现的位置是:',strpos($str1,'t'),'<br>'; ?> <hr> <h3>str_replace,substr_replace()函数的使用</h3> <?php $str2='I want to be a good programmer!'; echo '原字符串:',$str2,'<br>';; echo '<span>str_replace($var1,$var2,$var)在$var中将$var1,替换为$var2</span><br>'; echo str_replace('programmer','PHPer',$str2),'<br>'; echo str_replace(array('programmer','good'),'PHPer',$str2),'<br>'; echo str_replace(array('programmer','good'),array('PHPer','better'),$str2),'<br>'; //也可多个替换 echo '<span>substr_replace($var,$var1,$int,[$len])在$var中从$int开始替换为$var1</span><br>'; echo substr_replace($str2,'PHPer',15),'<br>'; echo substr_replace($str2,'better',15,4),'<br>'; //从15位开始替换4个字符 ?> </pre> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例