博客列表 >PHP第二十一天作业-数组的排序和字符串方法使用-2018-04-19

PHP第二十一天作业-数组的排序和字符串方法使用-2018-04-19

HeartofSunny的博客
HeartofSunny的博客原创
2018年04月19日 16:52:41874浏览


总结:

  1. 数组的排序

    sort(&$arr, $flag) 按值升序排列,键名按索引方式重置
    asort(&$arr,$flag) 按值升序排列,键名保留与值的对应
    ksort(&$arr,$flag) 按键名升序排列,适合于关联数组,键值对应关系不变


     反序: reversal 反转,函数前添加一个r即可
     rsort(&$arr, $flag):对数组逆向排序
     arsort(&$arr, $flag):对数组进行逆向排序并保持索引关系
      krsort(&$arr, $flag):对数组按照键名逆向排序

  2. 字符串长度计算

    strlen($str):获取字节表示的字符串长度
    utf8模式下,一个中文字符用三个字节表示

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

    省略第二个参数,会使用系统默认的字符编码集,当前是utf-8

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

    str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1
    explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
    implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔

  4. 查找与替换

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

实例

<?php 
	//数组的排序
	$arr = [2,4,3,5,1];
	sort($arr);
	print_r($arr);

	echo '<hr>';
	asort($arr);
	print_r($arr); 

	echo '<hr>';
	ksort($arr);
	print_r($arr);

	echo '<hr>';
	rsort($arr);
	print_r($arr);

	echo '<hr>';
	arsort($arr);
	print_r($arr);

	echo '<hr>';
	krsort($arr);
	print_r($arr);

	echo '<hr>';
	//字符串长度计算
	$str = '我的名字叫nick';
	//获取内部字符编码集
	$encoding =  'UTF-8';
	//1.strlen($str):获取字节表示的字符串长度
	//utf8模式下,一个中文字符用三个字节表示
	echo strlen($str),'<br>';

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

	//字符串与数组之间的转换
	//explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
	$str2 = '1,2,3,4,5';
	print_r(explode(',',$str2)); //用','号进行分割字符串
	print_r(explode(',',$str2,4)); //指定数组必须是5个元素,最后一个元素保存全部剩余数据

	echo '<hr>';

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

	//字符串的查找与替换
	$str3 = '12345';
	//1.strpos($str,$needle, $offset)查找字符串首次出现的位置
	echo strpos($str3, '1'),'<br>'; //默认从头开始查找
	echo strpos($str3, '1', 2),'<br>'; //从索引2开始查找

	echo '<hr>';

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

	//3.str_replace($str1, $str2, $str3, $num):子串替换,
	echo str_replace('12','21',$str3), '<br>';

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

 ?>

运行实例 »


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


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