php降序排列,php 排序算法

发布时间:2023-01-08

本文目录一览:

  1. 在php中如何对一个数组进行升序和降序排列?
  2. PHP求助,有二维数组如下,我想要他按照num降序排,改怎么写?
  3. php 二维数组的排序问题
  4. php中有哪些排序的内置函数?
  5. PHP编写降序?
  6. 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_STRINGSORT_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 就对了。