Blogger Information
Blog 33
fans 0
comment 2
visits 37335
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数组排序,字符串查询,过滤,大小写转换,替换2018/8/28
cxw的博客
Original
1452 people have browsed it

通过今天的学习,我了解掌握了一些对数组进行排序的函数,并且熟练掌握对字符串使用 的函数,以下是我的代码:

1,str_replace(), substr_replace()

实例

<meta charset="UTF-8">
<?php
/**
 *substr(),strstr(),strpos()函数
 */
$str='PHP is the best progra&mming langu&age';
//substr截取字符串,第一个参数字符串,第二个参数,从哪个位置截取
echo  '11位开始截取',var_export(substr($str,11)).'<hr>';

echo  '11位开始截取14个字符',var_export(substr($str,11,14)).'<hr>';

echo '截取后三位',var_export(substr($str,-3)).'<hr>';

echo '查询&后的字符并同时返回&:',var_export(strstr($str,'&')).'<hr>';

echo '查询&前的字符不返回&:',var_export(strstr($str,'&',true)).'<hr>';

echo  '查询&首次出现的位置',var_export(strpos($str,'&')).'<br>';

echo  '查询&最后出现的位置',var_export(strrpos($str,'&'));
运行实例 »

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

2,str_replace(), substr_replace()

实例

<meta charset="UTF-8">
<?php
/**
 * str_replace(), substr_replace()
 */

//使用substr_replace();
$str='PHP is the best progra&mming langu&age';

echo  '第三个参数为零不替换,而是插入:',var_export(substr_replace($str,'last',11,0)).'<hr>';

echo  '第三个参数不为零则替换:',var_export(substr_replace($str,'last',11,3)).'<hr>';

echo  '删除式:',var_export(substr_replace($str,'',11,3)).'<hr>';

//使用str_replace()

echo  'str_replace替换best为last:',var_export(str_replace('best','last',$str)).'<hr>';
echo  'str_replace删除替换:',var_export(str_replace('best','',$str)).'<hr>';

echo  'str_replace替换best is 多个值:',var_export(str_replace(['is','best'],['was','last'],$str)).'<hr>';

echo substr_replace($str, 'PHP是最好的编程语言',11,strlen($str)),'<br>';
运行实例 »

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

3,实例演示: usort()二维数组的排序

实例

<meta charset="UTF-8">
<?php
/**
 * 数组函数_排序
 * 数组元素由键名与值二部分组成,所以有二个排序依据
 * 一、根据值排序
 *  1.忽略键名:sort(),rsort(),usort()
 *  2.保留键名:asort(),arsort(),uasort()
 *
 *
 ** 记忆规律:
 * 1.函数名有a: 保留键值关系,适合关联数组
 * 2.函数名有r:逆序(降序),由大到小排列
 * 3.函数名有u:自定义回调处理
 *
一、根据数组的值进行排序
 * 第一组: 忽略键名,主要针对索引数组
 * 1.sort($arr) 升序
 * 2.rsort($arr) 降序
 * 3.usort($arr,$callback) 回调
 *
 */
//1,升序
$arr=array(1,3,8,2,4,0);
sort($arr);
echo  var_export($arr,true),'<br>';
//2降序
$arr=[1,5,8,7,2];
rsort($arr);
echo  var_export($arr,true),'<br>';
$arr=[8,5,1,6,3];
//回调函数进行排序
usort($arr,function ($value1,$value2){
    $res=$value1-$value2;
    switch ($res) {
        case ($res < 0):
//            return -1;
            return  1;  //降序

            break;

        case ($res > 0):
//            return 1;
            return -1;//降序
            break;
        case ($res == 0):

            return 0;
            break;
    }
});
echo  var_export($arr,true),'<br>';
//根据数组的值进行排序,保留键值关系,主要针对关联数组

//1,升序,键值保留
$height=['黎明'=>172,'刘德华'=>180,'周星驰'=>175];

asort($height);
echo var_export($height,true),'<br>';
//2,降序,键值保留
arsort($height);
echo '保留键降序排序',var_export($height,true),'<hr>';


/**
 * 二、根据键名排序
 * 1. ksort()
 * 2. krsort()
 * 3. uksort()
 */
//1,按键名升序
$info=['name'=>'xiaoqiang','seight'=>'mediu','hoppy'=>'Pang ball'];
//按键名升序
ksort($info);
echo var_export($info,true),'<br>';
//按键名降序
krsort($info).'<hr>';

$stu=[
    ['name'=>'小明','grade'=>66],
    ['name'=>'小红','grade'=>53],
    ['name'=>'小军','grade'=>89],
    ['name'=>'小李','grade'=>91],
    ['name'=>'小田','grade'=>73],
];

//输出原数组
echo '排序前:',var_export($stu,true).'<br>';
//用户自定义回调排序 默认升序
usort($stu,function ($m,$n){
    return strcmp($m['grade'],$n['grade']);
});

//输出排序数组
echo '升序排序后:',var_export($stu,true),'<hr>';

usort($stu,function ($m,$n){
    return strcmp($n['grade'],$m['grade']);
});
//输出排序数组
echo '降序排序后:',var_export($stu,true),'<hr>';
运行实例 »

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

总结:

1数组排序

a,忽略键名:sort(),rsort(),usort()
b,保留键名:asort(),arsort(),uasort()

c,3.usort($arr,$callback) 回调
2,字符串操作

a,过滤(trim(),ltrim(),rtrim())

b.填充(str_pad())

c,小写 strtolower();

d,大写 strtoupper()

e,第一个大写 ucfirst

f,统一转小写 ucwords

g,substr,strstr(截取字符串),strpos(获取字符串首次出现位置)

h,str_replace(), substr_replace() 替换字符串

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