博主信息
博文 31
粉丝 0
评论 2
访问量 34305
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
4月18日作业—数组排序、字符串经典函数应用
钱光照的博客
原创
817人浏览过
  1. 数组排序方法总结

    ①按照升序对数组中的元素排序,使用sort()函数,如果对关联数组排序,会丢失键值,变成索引数组;

    ②按照降序对数组中的元素排序,使用rsort()函数,如果对关联数组排序,会丢失键值,变成索引数组;

    ③根据值,以升序对关联数组进行排序,使用asort()函数,保留键值。

    ④根据键,以升序对关联数组进行排序,使用ksort()函数,保留键值。

    ⑤根据值,以降序对关联数组进行排序,使用arsort()函数,保留键值。

    ⑥根据键,以降序对关联数组进行排序,使用krsort()函数,保留键值。

方法应用:

实例

<?PHP 

$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '<h2>数组排序总结:</h2>'.'<hr color="green">';
echo '<pre>'.'原始数据:';
print_r($arr);
//使用sort()函数
echo '<hr color="red">';
echo '1.按照升序对数组中的元素排序,使用sort()函数:'.'<br>';
sort($arr);
print_r($arr);
//使用rsort()函数
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '2.按照降序对数组中的元素排序,使用rsort()函数:'.'<br>';
rsort($arr);
print_r($arr);
//使用asort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '3.根据值,以升序对关联数组进行排序,使用asort()函数:'.'<br>';
asort($arr);
print_r($arr);
//使用ksort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '4.根据键,以升序对关联数组进行排序,使用ksort()函数:'.'<br>';
ksort($arr);
print_r($arr);
//使用arsort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '5.根据值,以降序对关联数组进行排序,使用arsort()函数:'.'<br>';
arsort($arr);
print_r($arr);
//使用krsort()
echo '<hr>';
$arr = array('语文' =>85 ,'数学' =>75 ,'英语' =>95 , '物理' =>55 , '化学' =>65 );
echo '6.根据键,以降序对关联数组进行排序,使用krsort()函数:'.'<br>';
krsort($arr);
print_r($arr);

?>

运行实例 »

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

运行结果如下:

1.png

2.png


关于字符串经典函数应用:

1. 字符串长度计算

       strlen($str):计算字符串的长度;

2. 字符串与数组之间的转换

       str_split($str,$length=1):按字符数量,将字符串分割为数组,默认为1;

       explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量;

       implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔.


3. 字符串的查找与替换

      strpos($str1,$str2, $offset):查找$str1在$str1中首次出现的位置;

      strstr($str1, $str2):如果$str2是$str1的子串,返回子串,返回否则false,

                                     如果确定$str2是$str1的子串,推荐使用strpos(),速度更快;

      str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数

      substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串

下面用实例来说明:

实例

<?PHP 

$cars='上汽荣威,比亚迪,奇瑞,凯迪拉克,兰博基尼,法拉利,劳斯莱斯';

echo "<h2>字符串的长度以及与数组之间的转换:</h2>".'<hr color="green">';
echo "原始数据:",$cars.'<hr color="red">';

//计算字符串长度
echo '字符串的长度是:'.strlen($cars).'<hr>';

//字符串与数组之间的转换
//1.str_split($str,$length=1)按字符数量,将字符串分割为数组,默认为1
echo '<pre>'.'使用str_split函数后:<br>';
$cars1=str_split($cars,2);
print_r($cars1); //默认一个字符转为数组中的一个元素,一个汉字2个字符一个元素

//2.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
echo '<hr>使用implode函数后:<br>';
echo implode('',$cars1).'<hr>';

//3.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
echo '使用explode函数后:<br>';
print_r(explode(',',$cars,7)); 
//

//字符串的查找与替换
echo '<hr color="red">';

$cars='上汽荣威,比亚迪,奇瑞,凯迪拉克,兰博基尼,法拉利,劳斯莱斯';
echo "<h2>字符串查找与替换:</h2>".'<hr color="green">';
echo "原始数据:",$cars.'<hr color="red">';

//1.strpos($str,$needle, $offset)查找字符串首次出现的位置
echo "凯迪拉克的位置是:".strpos($cars, '凯迪拉克'),'<br>';//默认从头开始查找

//2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false
echo strstr($cars, '法拉利')?'找到':'没找到!','法拉利!'.'<br>';  //返回子串及后面部分
echo '法拉利前面的车有:'.strstr($cars, ',法拉利', true),'<br>'; //参数true,会返回子串前面部分
//
echo '<hr>';
//3.str_replace($str1, $str2, $str3, $num):子串替换,
echo '下面将奇瑞换成宝马:<br>';
echo str_replace('奇瑞','宝马',$cars), '<br>';
//
echo '<hr>';
//4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串
//在$str中,从第5个索引位置起的2个字符,用'pppph'进行替换
//echo substr_replace($str,'pppph', 5, 2); 

echo '在上汽荣威后面加上别克威朗:<br>';
echo substr_replace($cars,'别克威朗,',10,0);

?>

运行实例 »

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

运行结果如下:

3.png

4.png

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学