① php問題排序
沒大明白什麼意思,我理解的是對數據表中的數據進行排序嗎,有一個欄位記錄數據的序號。
兩種辦法:
第一、修改一個數據的序號時,統一設置序號值(+1或-1根據調整的具體序號來定)推薦使用replace
第二。是我常用的方法,在數據表中加一時間欄位,來記錄調整序號時的時間。調整序號時,只改變被調整的數據的序號。然後記錄時間。讀取內容時根據序號,時間排序。order by 序號,date desc
② php,對已知數據(二維數組)排序+分頁,根據某個欄位排序(該欄位是動態,距離),分頁就亂了
沒太看明白你寫的什麼意思
一般做分頁都是先對總的數據做排序,然後根據頁碼去分頁好的數組裡面取相對應的數據,
③ PHP實現的自定義數組排序函數與排序類示例
本文實例講述了PHP實現的自定義數組排序函數與排序類。分享給大家供大家參考,具體如下:
/*
*
二維數組自定義排序函數
*
uasort($arr,function_name)
*
**/
$arr
=
array(
array('a'=>1,'b'=>'c'),
array('a'=>4,'b'=>'a'),
array('a'=>5,'b'=>'g'),
array('a'=>7,'b'=>'f'),
array('a'=>6,'b'=>'e')
);
function
compare_arr($x,$y){
if($x['b']<$y['b']){
return
-1;
}else
if($x['b']>$y['b']){
return
1;
}else{
return
0;
}
}
uasort($arr,'compare_arr');
foreach($arr
as
$a){
echo
$a['a'].'=>'.$a['b'].'<br/>';
}
手冊里的自定義排序類:
class
multiSort
{
var
$key;
//key
in
your
array
//排序函數
參數依次是
數組
待排列索引
排序類型
function
run
($myarray,
$key_to_sort,
$type_of_sort
=
'')
{
$this->key
=
$key_to_sort;
if
($type_of_sort
==
'desc')
uasort($myarray,
array($this,
'myreverse_compare'));
else
uasort($myarray,
array($this,
'mycompare'));
return
$myarray;
}
//正序
function
mycompare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
<
$y[$this->key]
)
return
-1;
else
return
1;
}
//逆序
function
myreverse_compare($x,
$y)
{
if
(
$x[$this->key]
==
$y[$this->key]
)
return
0;
else
if
(
$x[$this->key]
>
$y[$this->key]
)
return
-1;
else
return
1;
}
}
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《php排序演算法總結》、《php字元串(string)用法總結》、《PHP針對XML文件操作技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
④ php中有哪些排序的內置函數
定義和用法
krsort() 函數對關聯數組按照鍵名進行降序排序。
提示:請使用 ksort() 函數對關聯數組按照鍵名進行升序排序。
提示:請使用 arsort() 函數對關聯數組按照鍵值進行降序排序。
語法
krsort(array,sortingtype);
參數 描述
array 必需。規定要進行排序的數組。
sortingtype 可選。規定如何排列數組的元素/項目。可能的值:
0 = SORT_REGULAR - 默認。把每一項按常規順序排列(Standard ASCII,不改變類型)。
1 = SORT_NUMERIC - 把每一項作為數字來處理。
2 = SORT_STRING - 把每一項作為字元串來處理。
3 = SORT_LOCALE_STRING - 把每一項作為字元串來處理,基於當前區域設置(可通過 setlocale() 進行更改)。
4 = SORT_NATURAL - 把每一項作為字元串來處理,使用類似 natsort() 的自然排序。
5 = SORT_FLAG_CASE - 可以結合(按位或)SORT_STRING 或 SORT_NATURAL 對字元串進行排序,不區分大小寫。
定義和用法
ksort() 函數對關聯數組按照鍵名進行升序排序。
提示:請使用 krsort() 函數對關聯數組按照鍵名進行降序排序。
提示:請使用 asort() 函數對關聯數組按照鍵值進行升序排序。
對關聯數組按照鍵名進行升序排序:"35","Ben"=>"37","Joe"=>"43")
ksort($age);
?>
⑤ PHP查詢並排序
從你要輸出的結果來看,你這樣實現法不太科學,代碼不高效,數據量少時還算說得過去,若上萬數據的話,伺服器會崩潰。建議你在資料庫結構上進行改進,對於排序的欄位設計可以採用人為可控制的數值,這樣你要實現的話,一個sql語句搞定到數組後,你想輸出哪種格式都是可以的了。你去參考下那些知名的CMS系統的資料庫設計結構,我想你會受到啟發的。
記得給分!!!
⑥ php 排序問題
其實PHP有好多數組排序的函數,沒必要自己去寫,自帶的效率更高
參考http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html
⑦ PHP 查詢離我最近的 店鋪
POST一個位置坐標後,根據位置坐標計算一個區域,把區域里的所有店鋪提取出來 再用距離公式計算出距離,然後就是簡單的數組排序了
⑧ php怎樣根據數組的長度來排序
usort()函數排序。可根據大小,長度,等自定義排序
<?php
functionmy_sort($a,$b){
if(count($a)==count($b))return0;
return(count($a)>count($b))?-1:1;
}
$arr=array(array("Peter"),array("glenn","Cleveland","peter","cleveland"),array("Glenn"));
usort($arr,"my_sort");
print_r($arr);
//http://www.hi-docs.com/php/usort.html
?>
⑨ oracle資料庫中 如果按商家的距離排序
select * from 商家表
order by 2*asin(sqrt(power(sin((經度-你的經度)*3.14159265359/180/2),2)+cos(緯度*3.14159265359/180)*cos(你的緯度*3.14159265359/180)*power(sin((緯度-你的緯度)*3.14159265359/180/2),2)))*6378.137*1000
大致如上