数组排序和for+next遍历数组-PHP

2025-10-27 14:54:04

1、1.数组排序

排序基础

排序是一个研究性课题。

我们只是学习人家研究出来的“成果”:大约有几十种方法的排序;

php中,排序相当简单:一个函数搞定!

比如:

$arr5 = array( 12, 'aa'=>8, 6=>10,'bb'=> 3, 4);

//sort($arr5); //排完了!——他们按正序排列了,下标变成了0,1,2,3,4

//asort($arr5); //也排完了——他们按正序排列了,而且下标还保持关系

rsort($arr5); //又排完了——他们按倒序排列了

更多详见:

数组排序和for+next遍历数组-PHP

2、2.冒泡排序

$a1 = array( 8,  10,  3,  7,  11,  5 );

数组排序和for+next遍历数组-PHP

3、3.规律总结:

1,一个数组的长n是可获得的:$n = count($a1);

2,要进行从左到右的“比较”趟数为n-1趟;

3,每一趟要进行比较的次数都比前一趟少1次,并且:第1趟要比较n-1次(n个数参与比较)

4,每一次都是比较紧挨着的两个数据,并且如果左边的数比右边的大,则需要将他们交换位置

数组排序和for+next遍历数组-PHP

4、4.选择排序:

$a1 = array( 8,  10,  3,  7,  11,  5 );

描述:

从当前“剩余”没有排序的数据中,找出其中的最大值及其下标,并将该项跟这些数据中的最后一项进行交换位置。这样每趟都可以确定一个当前剩余数据中的最大值并放在最后。经过若干趟之后,就都可以排列完成。

数组排序和for+next遍历数组-PHP

5、5.选择排序的规律总结:

1,一个数组的长n是可获得的:$n = count($a1);

2,要进行找出剩余数据中的最大值的趟数是n-1;

3,每一趟要找最大值的数据个数比前一趟少一个,并且第一趟有n个数据;

4,每一趟结束后,都可以找出其中的最大值及其下标,此时要将该项跟这一趟的最后一项交换位置;

代码实现:

数组排序和for+next遍历数组-PHP

6、6.for+next遍历数组

需求:

有这样一个数组:

$arr  =  array( 12,  5,  ‘aa’=>8,  6=>10,  ‘bb’=> 3,  4);

不使用“foreach”,而是使用for循环,将他遍历输出每一项的下标和值!

数组排序和for+next遍历数组-PHP

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢