博主信息
博文 34
粉丝 0
评论 1
访问量 29432
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
0827作业:字符串的操作及数组排序
Samoye
原创
907人浏览过

作业1;演示str_replace(), substr_replace()

实例

<?php
/**
   str_replace 和 substr_replace
 *  str_replace(search,replace,$str)
 *  substr_replace($str,replacement,start,lenght)
 */
// str_replace()  str_ireplace()

$str1 = 'The biggest adventure you can take is to live the life of your dreams.';

echo str_replace('biggest','best',$str1),'<hr>';
echo str_replace('.','',$str1),'<hr>';
echo str_replace(['you','your'],['I','my'],$str1),'<hr>'; //结果好奇葩

//substr_replace()

$str = '2 礼物 热 li夫';

echo substr_replace($str1,$str,0),'<hr>'; //全部替换
echo substr_replace($str1,$str,strlen($str1)),'<hr>';//在尾部增加
echo substr_replace($str1,$str,3,8),'<hr>';//指定在那个位置,替换几个字符
echo substr_replace($str1,'1+1=2',12,0),'<hr>';//在指定位置插入

运行实例 »

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

总结:

* str_replace() 返回字符串或数组,搜索字符串,从左到右依次全部替换(或者指定被替换的次数count可选)
* substr_replace() 返回字符串或数组, 要指定替换的开始位置,替换的字符串个数

作业2:演示substr(),strstr(),strpos()函数

实例

<?php
/**
    字符串的截取和查询
 *  sbustr($str,start,lenght):返回字符串
 *  strstr(str1,str2,bool)返回字符串
 *  strpos(str1,str2,start)返回字符首次出现的位置,int
 */

//substr () 根据start 位置截取字符串

$str1 = 'The biggest adventure you can take is to live the life of your dreams.';
$str2 = substr($str1,3,7);
echo $str2,'<br>';
$str3 = substr($str1,-12 ); //从字符串的后面数,截取12个字符
echo $str3,'<hr>';

//strstr()// 根据某个字符截取该字符前/(含)后所有的字符

$str4 = 'My dream : live in the mountains';
$str5 = strstr($str4,':');//包好该字符串:
echo $str5,'<br>';
$str6 = strstr($str4,':',true); //返回字符前的字符串
echo $str6,'<hr>';

//strpos 搜索字符或字符串首次出现的位置,返回其下标

echo strpos($str1,'a'); //返回a首次出现的位置;

运行实例 »

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

总结:字符串可以看作字符的集合/数组,所以都会有下标

作业3:usort()二维数组的排序

实例

<?php
/**
    数组中的元素可以按字母或数字的顺序进行升序或降序的排序
 *  数组有索引数组和关联数组之分,还有二维数组
 *  常用的排序函数:
 *  sort():根据数组的值,升序排列
 *  rsort():根据数组的值,降序排列
 *  ksort():根据关联数组的键值,升序排列
 *  krsont():根据关联数组的键值,降序排列
 *  asort():根据关联数组的值,生序排列
 *  arsort():根据关联数组的值,降序排列
 * usort($array,function()),根据用户自定义的函数进行排序,根据数值进行排序,但并不会保存关键字
 * uasort()  排序将基于value
 * uksort() 排序将基于关键字
 *
 */
 //索引数组的排序
echo '<pre>';
$arr1 = ['peter','jimmy','albert','core','amy'];
sort($arr1);
print_r($arr1);
echo '<hr>';
rsort($arr1);
print_r($arr1);
echo '<hr>';
//关联数组的排序
$arr2 = ['id'=>110,'name'=>'peter','sex'=>'meal','height'=>'175cm'];
ksort($arr2);
print_r($arr2);
echo '<hr>';
krsort($arr2);
print_r($arr2);
echo '<hr>';
asort($arr2);// //当字母和数字排序的时候,怎么换算的??
print_r($arr2);
echo '<hr>';
// usort()利用自定义函数回调处理特殊排序

$arr3 = [
    ['id'=>110,'name'=>'python'],
    ['id'=>119,'name'=>'html'],
    ['id'=>120,'name'=>'php']
];
function fun($a,$b){
    return strcmp($a['name'],$b['name']);
}
usort($arr3,'fun');
print_r($arr3);
echo '<hr>';
/*
 * usort($arr3,function($a,$b){
 *     return strcmp($a['name'],$b['name']);
 *
 * });
 */

运行实例 »

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

/*
 * 总结:
 * sort,rsort,ksort,krsort,asort,arsort,一般都是用于一维数组的排序,
 * usort,uasort,uksort 用于2维数组,多维数组的用户自定义排序。自定义函数一定要有返回值(1.0.-1)
 * sort,usort,usort,不保持原来键名关联--更改了。
 */

批改状态:未批改

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

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

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