php排序算法实例分析

yipeiwu_com6年前PHP代码库

本文实例分析了php排序算法。分享给大家供大家参考,具体如下:

用PHP写排序,虽然PHP自动了很多排序方式,SQL语句也可以很快速的从数据库里有序的读出数据。但是不同的需求还有灵活

运用所学的PHP基础知识。

我想完成如下的效果

排序算法效果图

就是把一个数值中所以的数据按时间排序并且分行显示

<?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; //返回数组
 }
?>

上面字数处理函数。下面是显示部分代码

<?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自动函数。

<?php
  memory_get_usage();
?>

来计算代码在运行的所占的内存。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php正则表达式用法总结》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP对象相互引用的内存溢出实例分析

通常来说使用脚本语言最大的好处之一就是可利用其拥有的自动垃圾回收机制来释放内存。你不需要在使用完变量后做任何释放内存的处理,因为这些PHP会帮你完成。 当然,我们可以按自己的意愿调用 u...

php页面防重复提交方法总结

1、提交按钮置disabled       当用户提交后,立即把按钮置为不可用状态。这种用js来实现。   &nbs...

php ci 获取表单中多个同名input元素值的代码

有时前台页面要允许动态增加/删除某项属性的多个值,比如向书架中添加书本,要可以动态增加或者删除书本。前台页面的表单中会有多个input元素,如下: 复制代码 代码如下: <form...

php-perl哈希算法实现(times33哈希算法)

复制代码 代码如下:APR_DECLARE_NONSTD(unsigned int) apr_hashfunc_default(const char *char_key, &n...

PHP flush 函数使用注意事项

ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区. 而flush, 严格来讲, 这个只有在PHP做为apache的Module(han...