Blogger Information
Blog 34
fans 0
comment 1
visits 23425
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
0827作业:字符串的操作及数组排序
Samoye
Original
727 people have browsed it

作业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,不保持原来键名关联--更改了。
 */

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post