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 ?>