博客列表 >数组排序、字符串与数组之间的转换 、长度计算和查找与替换—4月18日

数组排序、字符串与数组之间的转换 、长度计算和查找与替换—4月18日

→忆指凡尘&的博客
→忆指凡尘&的博客原创
2018年04月20日 00:27:21594浏览

大家好

      以下是我对数组排序、字符串与数组之间的转换 、长度计算和查找与替换的练习以及总结,若有不够全面和错误的地方望大家提出。

实例

<?php
/**
 *一. 正序: associate(关联的), key(键),前面加上这二个单词的首字母表示
 * 1. sort(&$arr, $flag) 按值升序排列,键名按索引方式重置
 * 2. asort(&$arr,$flag) 按值升序排列,键名保留与值的对应
 * 3. ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变
 *
 * 二、反序: reversal 反转,函数前添加一个r即可
 * 1. rsort(&$arr, $flag):对数组逆向排序
 * 2. arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系
 * 3. krsort(&$arr, $flag):对数组按照键名逆向排序
 *
 * $flag = SORT_NUMERIC (转为数字类型),SORT_STRING(转为字符类型)
 *
 *三、自定义回调函数进行排序: usort(&$arr, functoin($a, $b){ #code })
 * 注意: 仅对值进行排序,忽略键名(即会重置键名)
 */

$arr = ['name'=>'qi', 'age'=>29, 3=>true, 'a'=>'b'];
//格式化输出
echo '<pre>';
//正序且键名重置
sort($arr);
print_r($arr);
echo '<hr>';
//正序且键名保留
asort($arr);
print_r($arr);
echo '<hr>';
// 键名正序排列
ksort($arr);
print_r($arr);

//数组反转,忽略原键名,忽略类型分组排序
rsort($arr); 
print_r($arr);

//数组反转,保留键名,转为数字类型进行排序
arsort($arr, SORT_NUMERIC); 
print_r($arr);

//键名反转排序 转为字符类型进行排序
krsort($arr, SORT_STRING);
print_r($arr);


// 字符串函数:长度计算
// 1.strlen($str)
// 2.mb_strlen($str, $encoding)
$siteName = '好好学习aaa';

//1.strlen($str):获取字节表示的字符串长度
//utf8模式下,一个中文字符用三个字节表示
echo strlen($siteName),'<br>';

//2.mb_strlen($str, $encoding) :获取字符数表示的长度
echo mb_strlen($siteName),'<br>';
echo '<hr color="red">';


// 字符串函数:字符串与数组之间的转换
// str_split($str); //默认一个字符转为数组中的一个元素
// str_split($str,5); //5个一组进行转换
$a = 'a,b,c,d,e,f,g,';
str_split($a);
print_r(str_split($a,3));
echo '<hr color="red">';
//explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量,最后一个元素保存全部剩余数据
print_r(explode(',', $a,4));
//implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
$b = explode(',', $a);//将字符串转变为数组
echo implode('/',$b);//将数组转变为用/分割的字符串
echo '<hr color="red">';


// 字符串函数:查找与替换
$str = 'www.php.cn';
//1.strpos($str,$needle, $offset)查找字符串首次出现的位置
echo strpos($str, 'p'),'<br>'; //默认从头开始查找
echo strpos($str, 'p', 5),'<br>'; //从索引5开始查找

//2.strstr($str1,$str2),如果$str2是$str1的子串,返回子串,返回否则false
echo strstr($str, 'php'),'<br>';  //返回子串及后面部分
echo strstr($str, 'php', true),'<br>'; //参数true,会返回子串前面部分

echo '<hr>';
//3.str_replace($str1, $str2, $str3, $num):子串替换,
echo str_replace('www','http://www',$str), '<br>';

echo '<hr>';
// 4.substr_replace($str1,$str2,$str3,$start,$length):替换字符串的子串
//在$str中,从第5个索引位置起的2个字符,用'pppph'进行替换
echo substr_replace($str,'pppph', 5, 2);

运行实例 »

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

                                                                                 课程总结

1.正序: (1) sort(&$arr, $flag) 按值升序排列,键名按索引方式重置

           (2)asort(&$arr,$flag) 按值升序排列,键名保留与值的对应

           (3)ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变

2.反序:(1)rsort(&$arr, $flag):对数组逆向排序

             (2) arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系

             (3)krsort(&$arr, $flag):对数组按照键名逆向排序

               注:$flag = SORT_NUMERIC (转为数字类型),SORT_STRING(转为字符类型)

3.字符串函数:长度计算

            (1)strlen($str)—获取字节表示的字符串长度

            (2)mb_strlen($str, $encoding)—获取字符数表示的长度

4.字符串函数:字符串与数组之间的转换

     (1)str_split($str); 默认一个字符转为数组中的一个元素    str_split($str,5); 5个一组进行转换

     (2)explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量,最后一个元素保存全部剩余数                据— explode(',', $a,4) 在$a中按','进行分组,保留4个元素

     (3)implode('/',$b);//将数组转变为用/分割的字符串

5.字符串函数:查找与替换:(1)strpos($str,$needle, $offset)查找字符串首次出现的位置—strpos($str, 'p'); 默认从头开                                                      始 查找   strpos($str, 'p', 5); 从索引5开始查找

                                         (2)strstr($str1,$str2),如果$str2是$str1的子串,返回子串,返回否则false— echo strstr($str,                                                      'php'); 返回子串及后面部分     strstr($str, 'php', true);参数true,会返回子串前面部分

                                         (3)tr_replace($str1, $str2, $str3, $num):子串替换, —str_replace('www','http://www',$str);

                                         (4)substr_replace($str1,$str2,$str3,$start,$length):替换字符串的子串—                                                                                substr_replace($str,'pppph', 5, 2); 在$str中,从第5个索引位置起的2个字符,用'pppph'进                                                    行替换


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