博主信息
博文 45
粉丝 2
评论 1
访问量 32582
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
2018年4月19号17.20分
哈的博客
原创
625人浏览过

总结

数组的排序

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

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

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

sort(&$arr, $flag) 按值升序排列,键名按索引方式重置,按类型排序


1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1

 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量

实例

<?php
// 数组排序方法总结:
// 数组的排序
 // 1.数组为引用传参,所有原数据会被改写; 
 // 2.数组元素的类型建议全部相同,否则会产生不可预见结果
 // 3.排序成功返回: true,失败返回: false
 $arr =['id'=>2, 'name'=>'call', 'id2'=>'red', 3=>true];
 echo '<pre>';
print_r($arr);
// echo '<hr color="red">';
// // 1. sort(&$arr, $flag) 按值升序排列,键名按索引方式重置,按类型排序
// sort($arr);
// print_r($arr);
// echo '<hr color="red">';
// sort($arr,SORT_REGULAR);//[默认]正常比较单元(不改变类型)
// sort($arr,SORT_NUMERIC);//单元被作为数字来比较
// sort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr); 

// echo '<hr color="red">';
//asort($arr);忽略类型
// asort($arr,SORT_NUMERIC);//单元被作为数字来比较
// asort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr); 

// echo '<hr color="red">';
// ksort($arr);//忽略类型
// ksort($arr,SORT_NUMERIC);//单元被作为数字来比较
// // ksort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr); 

//由大到小rsort翻转类型。
// echo '<hr color="red">';
// rsort($arr);//忽略类型
// rsort($arr,SORT_NUMERIC);//单元被作为数字来比较
// rsort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr);
 
//保留键名
// echo '<hr color="red">';
// arsort($arr);//忽略类型
// arsort($arr,SORT_NUMERIC);//单元被作为数字来比较
// arsort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr); 

//echo '<hr color="red">';
// krsort($arr);//忽略类型
// krsort($arr,SORT_NUMERIC);//单元被作为数字来比较
// krsort($arr,SORT_STRING);//单元被作为字符串来比较
// print_r($arr); 

//usort(array, cmp_function)
$arr1 = [12,25,32,16,14,98];
// print_r($arr1);
//用自定义回调方法对$arr1进行由小到大排列
// usort($arr1, function($a, $b) {
// 	$res = $a - $b; 
// 	if ($res == 0) {
// 		return 0;
// 	} else if ($res > 0) {
// 		return true;
// 	} else {
// 		return false;
// 	}
// });
usort ($arr1, function($a, $b){
	$res = $a-$b;
	if ($res == 0) {
		return 0;
	} else if ($res > 0) {
		return true;
	} else {
		return false;
	}
});
print_r($arr1);

运行实例 »

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

实例

<?php
//字符串长度计算

$res = 'asd中文网';
$encoding = mb_internal_encoding();
echo '内部的字符编码集',$encoding,'<br>';
echo strlen($res),'<br>';//utf8模式下,一个中文字符用三个字节表示
echo '<hr>';
echo mb_strlen($res),'<br>';//获取字符数表示的长度
echo mb_strlen($res,'UTF-8'),'<br>';


echo '<p>字符串函数(三):字符串与数组之间的转换</p><hr color="green">';
/**
 * 1.str_split($str,$length=1),按字符数量,将字符串分割为数组,默认为1
 * 2.explode($delimiter,$str,$num):按分隔符,将字符串分割为数组,可指定数组元素数量
 * 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
 */
$str = 'html,css,jquery,ajav,php,srcipt';
// echo $str;
// echo '<pre>';
// // str_split($str);
// print_r(str_split($str));//按字符数量,将字符串分割为数组,默认为1
// print_r(str_split($str,3))//个一组进行转换
// print_r(str_split(',',$str,));//用','号进行分割字符串
// print_r(str_split(',',$str,5));//指定数组必须是5个元素,最后一个元素保存全部剩余数据
//implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
// explode(',', $str);
// echo '<pre>';
// print_r(explode(',', $str)); //用','号进行分割字符串
// print_r(explode(',', $str,5)); //指定数组必须是5个元素,最后一个元素保存全部剩余数据
//implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔
$arr2 = explode(',', $str);
// implode(',',$arr2);
// echo implode(',',$arr2);
echo implode('+',$arr2);//+分隔
echo implode(' ',$arr2);//用空格分隔

运行实例 »

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

实例

<?php
echo '<h2>字符串的查找于替代</h2>,<br>';
/**
 * 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.baidu.com';
// echo strpos($str, 'i');//默认从头开始查找
echo '<br>';
echo strpos($str, 'b',3),'<br>';//索引从第3个开始找
//.strstr($str1, $str2),如果$str2是$str1的子串,返回子串,返回否则false
echo strstr($str,'bai'),'<br>';//返回子串及后面部分
echo strstr($str,'bai',true),'<br>';//参数true,会返回子串前面部分

//子串替换,
echo str_replace('www', 'http://www', $str),'<hr>';
//替换字符串的子串
echo substr_replace($str,'hahaha', 6, 3);

运行实例 »

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

 3.implode($glue, $str):按分隔符,将一维数组拼装成字符串,默认用空格分隔


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学