博客列表 >2018-08-27数组排序+常用字符串函数

2018-08-27数组排序+常用字符串函数

阿小的博客
阿小的博客原创
2018年08月28日 14:43:26488浏览

实例

<!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>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议