博客列表 >2018年4月19号17.20分

2018年4月19号17.20分

哈的博客
哈的博客原创
2018年04月19日 17:20:28511浏览

总结

数组的排序

 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 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议