Blogger Information
Blog 31
fans 0
comment 1
visits 21164
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1. 数组排序方法总结 2. 字符串长度计算 3. 字符串与数组之间的转换 4. 字符串的查找与替换 : 2018年4月18日作业
杜苏华迈专注于物联网可视化管理的博客
Original
937 people have browsed it

*1. 数组的排序方法总结

 * 注意:

 * 1.数组为引用传参,所有原数据会被改写;

 * 2.数组元素的类型建议全部相同,否则会产生不可预见结果

 * 3.排序成功返回: true,失败返回: false

 *

 * 可用常量:

 *  1.SORT_REGULAR: [默认]正常比较单元(不改变类型)

 *  2.SORT_NUMERIC: 单元被作为数字来比较

 *  3.SORT_STRING: 单元被作为字符串来比较

 *  4.SORT_NATURAL: 单元以“自然的顺序”对字符串进行排序

 *  5.SORT_FLAG_CASE: 不区分大小写排序字符串

 *

 * 一. 正序: 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):对数组按照键名逆向排序

 *

 * 三、自定义回调函数进行排序: usort(&$arr, functoin($a, $b){ #code })

 * 注意: 仅对值进行排序,忽略键名(即会重置键名)



2 字符串长度计算

作业2字符串长度计算.png


实例 字符串长度计算

<meta charset="UTF-8">
<?php
echo '<p>字符串函数(一):长度计算</p><hr color="green">';
/医院
 * 1.strlen($str)
 * 2.mb_strlen($str, $encoding)
 */

$siteName = '我是php菜鸟杜苏';
//获取内部字符编码集
$encoding =   mb_internal_encoding();
echo '内部字符编码集: ',$encoding,'<br>';

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

//2.mb_strlen($str, $encoding) :获取字符数表示的长度
echo mb_strlen($siteName, $encoding),'<br>';
echo '<hr color="red">';
//省略第二个参数,会使用系统默认的字符编码集,当前是utf-8
echo mb_strlen($siteName),'<br>';  //返回值不变
echo '<hr color="red">';

运行实例 »

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


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

作业3字符串与数组之间的转换1.png作业3字符串与数组之间的转换2.png


实例 字符串与数组之间的转换

<meta charset="UTF-8">
<?php
echo '<p>字符串函数(三):字符串与数组之间的转换</p><hr color="green">';
/医院
 * 1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1
 * 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
 * 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
 */
echo '<pre>';
$str = 'bj北京,sh上海,sz深圳,yc宜昌';
echo '<p>原始字符串:'.$str.'</p>';

echo '<hr color="red">';
//1.str_split($str,$length=1)按字符数量,将字符串分割为数组,默认为1
print_r(str_split($str)); //默认一个字符转为数组中的一个元素
print_r(str_split($str,5)); //5个一组进行转换
echo '<hr color="red">';

//2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
print_r(explode(',',$str)); //用','号进行分割字符串
print_r(explode(',',$str,2)); //指定数组必须是2个元素,最后一个元素保存全部剩余数据

echo '<hr color="red">';

//3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
$arr2 = explode(',', $str);
echo implode(' ', $arr2), '<br>'; //用空格分隔
echo implode(',',$arr2), '<br>'; //用,分隔
echo implode('--',$arr2), '<br>'; //用--分隔

运行实例 »

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


4. 字符串的查找与替换

作业4字符串查找与替换.png


实例 4. 字符串的查找与替换

<meta charset="UTF-8">
<?php
echo '<p>字符串函数(六):查找与替换</p><hr color="green">';

/医院
 * 1.strpos($str1,$str2, $offset)查找$str1在$str1中首次出现的位置
 * 2.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false
 * 如果确定$str2是$str1的子串,推荐使用strpos(),速度更快
 * 3.str_replace($str1, $str2, $str3, $num):子串替换,$num是替换次数
 * 4.substr_replace($str1,$str2,$str3,$start, $length):替换字符串的子串
 */

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

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


//3.str_replace($str1, $str2, $str3, $num):子串替换,
echo str_replace('php.cn','see1000.com',$str), '<br>';
echo '<hr color="red">';


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

echo substr_replace($str,'wppph', 5, 5);

运行实例 »

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



Correction status:qualified

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