微信扫一扫打赏支持

php课程 5-18 数组排序和合并拆分函数有哪些

php课程  5-18   数组排序和合并拆分函数有哪些

一、总结

一句话总结:分类来记。这些函数自己都可以写,费点时间而已。

 

1、array_combine()和array_merge()的区别是什么?

array_combine()是键值合并,array_merge()是数组合并

 5 $arr3=array_merge($arr,$arr2);

 

2、数组常用排序函数有哪些(7个)?

• sort();
按值把数组值进行排序,升序,不保留key
• rsort();
按值把数组值进行排序,降序,不保留key
• asort();
按值把数组值进行排序,升序,保留key
• arsort();
按值把数组值进行排序,降序,保留key
• ksort();
按键把数组值进行排序,升序,保留key
• krsort();
按键把数组值进行排序,降序,保留key
• natsort();
按自然数排序
• natcasesort();
忽略大小写的自然数排序
• array_multisort();
用一个数组对另外一个数组进行排序

 

3、sort()和asort()的区别是什么?

都是按值排序,asort()会带上键

 

4、数组常用排序函数中三个特殊但是实用的函数时哪三个?

• natsort();
按自然数排序
• natcasesort();
忽略大小写的自然数排序
• array_multisort();
用一个数组对另外一个数组进行排序

11 natcasesort($arr);

 

5、数组拆分、合并、分解与结合函数有哪6个(3组)?

• array_slice();
截取一段值
• array_splice();
截取一段值,保留一段值
• array_combine();
合并,一个是key,一个是value
• array_merge();  并集
合并,键值相同,后面覆盖前面
• implode();
把数组连接成字符串       
• explode();
把字符串分解成数组

 

6、array_slice()和array_splice()的区别是什么?

都是从数组中截取函数,array_splice()截取的数据原数据不在了

 

7、数组排序之后原数组会变化么?

php中的排序数组都会改变原数组,所以排序好的结果不是返回值,而是被排序的数组本身。

 

 

二、数组排序和合并拆分函数有哪些

1、相关知识

4.数组的排序函数(都会改变原数组)
• sort();
按值把数组值进行排序,升序,不保留key
• rsort();
按值把数组值进行排序,降序,不保留key
• asort();
按值把数组值进行排序,升序,保留key
• arsort();
按值把数组值进行排序,降序,保留key
• ksort();
按键把数组值进行排序,升序,保留key
• krsort();
按键把数组值进行排序,降序,保留key
• natsort();
按自然数排序
• natcasesort();
忽略大小写的自然数排序
• array_multisort();
用一个数组对另外一个数组进行排序

5.拆分、合并、分解与结合函数
• array_slice();
截取一段值
• array_splice();
截取一段值,保留一段值
• array_combine();
合并,一个是key,一个是value
• array_merge();  并集
合并,键值相同,后面覆盖前面
• implode();
把数组连接成字符串       
• explode();
把字符串分解成数组

 

2、代码

按自然数忽略大小写升序排序

 1 <?php 
 2 $arr=array(
 3     5=>'user5',
 4     2=>'user2',
 5     4=>'user4',
 6     6=>'user6',
 7     1=>'user100',
 8     7=>'USER7'
 9 );
10 
11 natcasesort($arr);
12 
13 echo "<pre>";
14 print_r($arr);
15 echo "</pre>";
16  ?>

array_merge值合并但相同字符串键名会覆盖

 1 <?php 
 2 $arr=array('name'=>1,2,3);
 3 $arr2=array('name'=>4,5,6);
 4 
 5 $arr3=array_merge($arr,$arr2);
 6 
 7 echo "<pre>";
 8 print_r($arr3);
 9 echo "</pre>";
10 ?>

 

 

 

 

 

 

 

 

 

 

 
posted @ 2018-06-26 05:48  范仁义  阅读(267)  评论(0编辑  收藏  举报