程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> 一個php排序算法

一個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();
    ?>
 

來計算代碼在運行的所占的內存。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved