批改状态:合格
老师批语:
<!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>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号