本文实例分析了php排序算法。分享给大家供大家参考,具体如下:
用PHP写排序,虽然PHP自动了很多排序方式,SQL语句也可以很快速的从数据库里有序的读出数据。但是不同的需求还有灵活
运用所学的PHP基础知识。
我想完成如下的效果
排序算法效果图
就是把一个数值中所以的数据按时间排序并且分行显示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php $array = $mysql ->query_array( $mysql ->sql_select( "user" , "userid,truename,year" , " " )); //从数据库里面读出数据 $year = array (); //设置空数组 foreach ( $array as $value ) { array_push ( $year , $value [2]); //把数据数组里面的时间数据入栈 } $year = array_unique ( $year ); //去除数组中重复的数据 usort( $year , "strnatcmp" ); //将数组中的数据按自然数排序 $num = count ( $year ); //统计数据中数据的个数 /*处理函数*/ function isyear( $value , $array ) { $user = array (); //建立空数组 foreach ( $array as $val ) { if ( $val [2] == $value ) { array_push ( $user , $val ); } } return $user ; //返回数组 } ?> |
上面字数处理函数。下面是显示部分代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php for ( $i =0; $i < $num ; $i ++) { echo "<div class='box_user'>" ; echo "<div class='boxleft'>{$year[$i]}届</div>" ; echo "<div class='boxright'>" ; $user = isyear( $year [ $i ], $array ); foreach ( $user as $v ) { echo "<span class={$v[0]}>{$v[1]}</span>" ; } echo "</div>" ; echo "</div>" ; } ?> |
数据显示代码应该好理解,我这里就不一行一行写注释了。
这样我们就可以得到开始我们需要的效果。不要以为这样就完了。。这只是第一步的想法,把实际的问题抽象成代码。也不知道效果怎么样?
我们可以通过时间戳来计算页面加载数据耗时和用PHP自动函数。
1
2
3
|
<?php memory_get_usage(); ?> |
来计算代码在运行的所占的内存。
希望本文所述对大家PHP程序设计有所帮助。