php排序算法實例分析
本文實例分析了php排序算法。分享給大家供大家參考,具體如下:
用PHP寫排序,雖然PHP自動了很多排序方式,SQL語句也可以很快速的從數(shù)據(jù)庫里有序的讀出數(shù)據(jù)。但是不同的需求還有靈活
運用所學的PHP基礎知識。
我想完成如下的效果

排序算法效果圖
就是把一個數(shù)值中所以的數(shù)據(jù)按時間排序并且分行顯示
<?php
$array = $mysql->query_array($mysql->sql_select("user","userid,truename,year"," ")); //從數(shù)據(jù)庫里面讀出數(shù)據(jù)
$year = array(); //設置空數(shù)組
foreach($array as $value)
{
array_push($year,$value[2]); //把數(shù)據(jù)數(shù)組里面的時間數(shù)據(jù)入棧
}
$year = array_unique($year); //去除數(shù)組中重復的數(shù)據(jù)
usort($year, "strnatcmp"); //將數(shù)組中的數(shù)據(jù)按自然數(shù)排序
$num = count($year); //統(tǒng)計數(shù)據(jù)中數(shù)據(jù)的個數(shù)
/*處理函數(shù)*/
function isyear($value,$array)
{
$user = array(); //建立空數(shù)組
foreach($array as $val)
{
if($val[2] == $value)
{
array_push($user,$val);
}
}
return $user; //返回數(shù)組
}
?>
上面字數(shù)處理函數(shù)。下面是顯示部分代碼
<?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>";
}
?>
數(shù)據(jù)顯示代碼應該好理解,我這里就不一行一行寫注釋了。
這樣我們就可以得到開始我們需要的效果。不要以為這樣就完了。。這只是第一步的想法,把實際的問題抽象成代碼。也不知道效果怎么樣?
我們可以通過時間戳來計算頁面加載數(shù)據(jù)耗時和用PHP自動函數(shù)。
<?php memory_get_usage(); ?>
來計算代碼在運行的所占的內(nèi)存。
更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《PHP數(shù)學運算技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
php中利用explode函數(shù)分割字符串到數(shù)組
這篇文章主要介紹了php中利用explode函數(shù)分割字符串到數(shù)組,需要的朋友可以參考下2014-02-02
php+mysqli使用面向對象方式查詢數(shù)據(jù)庫實例
這篇文章主要介紹了php+mysqli使用面向對象方式查詢數(shù)據(jù)庫的方法,實例分析了mysqli對象的創(chuàng)建、連接、查詢及返回結果、釋放資源等技巧,需要的朋友可以參考下2015-01-01

