本文实例分析了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程序设计有所帮助。