本文目录一览:
- 在php中如何对一个数组进行升序和降序排列?
- PHP求助,有二维数组如下,我想要他按照num降序排,改怎么写?
- php 二维数组的排序问题
- php中有哪些排序的内置函数?
- PHP编写降序?
- PHPadmin里怎么设置升序和降序排列
在php中如何对一个数组进行升序和降序排列?
- 升序:
sort()
函数 - 降序:
rsort()
函数
示例代码:
$people = array('name', 'sex', 'nation', 'birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "<br />---排序后---<br />";
foreach ($people as $mychrs)
echo $mychrs." ";
PHP中除了升序函数以外,还有降序或称反向排列的函数,就是rsort()
函数,比如:
$num1 = range(1,9);
rsort($num1);
这里其实就相当于range(9,1)
。
PHP求助,有二维数组如下,我想要他按照num降序排,改怎么写?
$a = array(
array(
'id' => 1,
'num' => 501
),
array(
'id' => 3,
'num' => 5651
),
array(
'id' => 5,
'num' => 145
),
);
foreach ($a as $k => $v) {
$num[] = $v['num'];
}
array_multisort($num, SORT_DESC, $a);
print_r($a);
php 二维数组的排序问题
对二维数组排序,需要用到array_multisort()
。
下面是从PHP手册摘出来的例子:
$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
升序排列。
// 取得列的列表
foreach ($data as $key => $row) {
$volume[$key] = $row['volume'];
$edition[$key] = $row['edition'];
}
// 将数据根据 volume 降序排列,根据 edition 升序排列
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
排序结果如下:
volume | edition |
---|---|
98 | 2 |
86 | 1 |
86 | 6 |
85 | 6 |
67 | 2 |
67 | 7 |
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()
函数对关联数组按照键值进行升序排序。 示例:
$age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
ksort($age);
PHP编写降序?
你可以在这个查询的 SQL 中 WHERE
条件后面加一个 ORDER BY ID DESC
。
也可以使用 PHP 方法:
$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[$key][$uniqid] = $value;
}
}
if ($sort['direction']) {
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers);
}
var_dump($arrUsers);
PHPadmin里怎么设置升序和降序排列
是 phpMyAdmin 吧,DESC
是降序排列,utf-8-general-ci
是整理规则不用管,知道是 utf-8
就对了。