php数组降序排列(php对特殊语句查询结果进行数组排序)

本文目录
- php对特殊语句查询结果进行数组排序
- php 怎么根据数组中其中的一个值排序
- PHP For 循环 怎么能把 数组 从小到大排列呢
- PHP实现指定字段的多维数组排序函数分享
- PHP中,想给一个关联数组排序,有什么方法吗
- thinkPHP二维数组排序
- 如何运用PHP数组排序函数array
- 用PHP编写程序 有一个数组$arr=array(4,3,8,9,2),将其按从小到大的顺序重新排序
- php定义数组,保存5名学生的成绩,并按从大到小的顺序输出
- php如何让一个有健值的数组倒序排列(每个元素的健值不变)
php对特殊语句查询结果进行数组排序
数据库查询结果有时候不能直接使用,比如mysql等用in语句出来的结果,因此需要对结果进行某种方式的排序。
例子 4. 对数据库结果进行排序
本例中 data 数组中的每个单元表示一个表中的一行。这是典型的数据库记录的数据集合。
例子中的数据如下:
volume | edition
-------+--------
67 | 2
86 | 1
85 | 6
98 | 2
86 | 6
67 | 7
数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()。
$data = array(’volume’ = 67, ’edition’ = 2);
$data = array(’volume’ = 86, ’edition’ = 1);
$data = array(’volume’ = 85, ’edition’ = 6);
$data = array(’volume’ = 98, ’edition’ = 2);
$data = array(’volume’ = 86, ’edition’ = 6);
$data = array(’volume’ = 67, ’edition’ = 7);
?
本例中将把 volume 降序排列,把 edition 升序排列。
现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。
// 取得列的列表
foreach ($data as $key = $row) {
$volume;
$edition;
}
// 将数据根据 volume 降序排列,根据 edition 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?
数据集合现在排好序了,结果如下:
volume | edition
-------+--------
98 | 2
86 | 1
86 | 6
85 | 6
67 | 2
67 | 7
php 怎么根据数组中其中的一个值排序
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
PHP For 循环 怎么能把 数组 从小到大排列呢
用非常典型的冒泡排序即可实现,具体实现思路如下列代码所示:
《?php
//首先定义一个数组;
$arr=array(100,23,69,2,50,31);
//计算数组的长度;
$length =count($arr);
//外层循环n-1
for($n=0;$n《$length-1;$n++){
//内层循环n-i-1
for($i=0;$i《$length-$n-1;$i++){
//判断数组元素大小,交换位置,实现从小往大排序
if($arr){
$temp=$arr;
$arr;
$arr=$temp;
}
}
}
print_r($arr);
//Array ( =》 100 )
?》
PHP实现指定字段的多维数组排序函数分享
PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了。本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序。
复制代码
代码如下:
function
sortArrByField(&$array,
$field,
$desc
=
false){
$fieldArr
=
array();
foreach
($array
as
$k
=》
$v)
{
$fieldArr
=
$v;
}
$sort
=
$desc
==
false
?
SORT_ASC
:
SORT_DESC;
array_multisort($fieldArr,
$sort,
$array);
}
以上就是PHP指定字段的多维数组排序方法,希望这段PHP代码对你带来帮助。
PHP中,想给一个关联数组排序,有什么方法吗
arsort()函数,按数组值降序排序
《?
/**
* **********************
* 数组排序
*/
$arr = 6 ;
$arr = 10 ;
$arr = 4 ;
var_dump($arr);
arsort($arr);
var_dump($arr);
?》
thinkPHP二维数组排序
从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。
遇到这个要求的时候就不是 ORDER BY 能解决的问题了。因此翻看 PHP 手册查找到了如下方法,做此笔记。
废话少说,奉上代码,清单如下:
view plain copy
《?php
/**
* 二维数组根据某个字段排序
* 功能:按照用户的年龄倒序排序
* @author ruxing.li
*/
header(’Content-Type:text/html;Charset=utf-8’);
$arrUsers = array(
array(
’id’ =》 1,
’name’ =》 ’张三’,
’age’ =》 25,
),
array(
’id’ =》 2,
’name’ =》 ’李四’,
’age’ =》 23,
),
array(
’id’ =》 3,
’name’ =》 ’王五’,
’age’ =》 40,
),
array(
’id’ =》 4,
’name’ =》 ’赵六’,
’age’ =》 31,
),
array(
’id’ =》 5,
’name’ =》 ’黄七’,
’age’ =》 20,
),
);
$sort = array(
’direction’ =》 ’SORT_DESC’, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
’field’ =》 ’age’, //排序字段
);
$arrSort = array();
foreach($arrUsers AS $uniqid =》 $row){
foreach($row AS $key=》$value){
$arrSort = $value;
}
}
if($sort){
array_multisort($arrSort), $arrUsers);
}
var_dump($arrUsers);
/*
输出结果:
array (size=5)
0 =》
array (size=3)
’id’ =》 int 5
’name’ =》 string ’黄七’ (length=6)
’age’ =》 int 20
1 =》
array (size=3)
’id’ =》 int 2
’name’ =》 string ’李四’ (length=6)
’age’ =》 int 23
2 =》
array (size=3)
’id’ =》 int 1
’name’ =》 string ’张三’ (length=6)
’age’ =》 int 25
3 =》
array (size=3)
’id’ =》 int 4
’name’ =》 string ’赵六’ (length=6)
’age’ =》 int 31
4 =》
array (size=3)
’id’ =》 int 3
’name’ =》 string ’王五’ (length=6)
’age’ =》 int 40
*/
如何运用PHP数组排序函数array
$arrUsers = array(
array(
’id’ =》 1,
’name’ =》 ’张三’,
’age’ =》 25,
),
array(
’id’ =》 2,
’name’ =》 ’李四’,
’age’ =》 23,
),
array(
’id’ =》 3,
’name’ =》 ’王五’,
’age’ =》 40,
),
array(
’id’ =》 4,
’name’ =》 ’赵六’,
’age’ =》 31,
),
array(
’id’ =》 5,
’name’ =》 ’黄七’,
’age’ =》 20,
),
);
$sort = array(
’direction’ =》 ’SORT_DESC’, //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序
’field’ =》 ’age’, //排序字段
);
$arrSort = array();
foreach($arrUsers AS $uniqid =》 $row){
foreach($row AS $key=》$value){
$arrSort = $value;
}
}
if($sort){
array_multisort($arrSort), $arrUsers);
}
var_dump($arrUsers);
用PHP编写程序 有一个数组$arr=array(4,3,8,9,2),将其按从小到大的顺序重新排序
《?php
$array=array(4,3,8,9,2);
sort($array);
echo "标准排序\n";
for($i=0;$i《count($array);$i++){
echo $array;
}
natsort($array);
echo "\n自然排序\n";
for($i=0;$i《count($array);$i++){
echo $array;
}
?》
结果如下:
标准排序 23489 自然排序 23489
php定义数组,保存5名学生的成绩,并按从大到小的顺序输出
php5.4版本以上,数组可以这样定义
$arr =
var_dump(rsort( $arr ));
// 这样就是将数组降序排列了
php如何让一个有健值的数组倒序排列(每个元素的健值不变)
《?php
function array_reverse_order($array){
$array_key = array_keys($array);
$array_value = array_values($array);
$array_return = array();
for($i=1, $size_of_array=sizeof($array_key);$i《=$size_of_array;$i++){
$array_return;
}
return $array_return;
}
$a = array(11=》’jiao’, 22=》’yong’, 33=》’gang’);
$b = array_reverse_order($a);
print_r($b);
?》

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30







