① 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
大致如上