📜  按键排序多维数组 php - PHP (1)

📅  最后修改于: 2023-12-03 14:54:41.354000             🧑  作者: Mango

按键排序多维数组 PHP

在 PHP 中,我们可以使用 array_multisort 函数对一个多维数组按照指定的键值进行排序。本文将介绍如何对一个多维数组按照指定的键值进行排序,并对排序后的结果进行输出。

准备工作

首先,我们需要准备一个多维数组以及一个用于排序的键值。我们假设这个多维数组中每个元素都包含一个名称和一个年龄,我们想要按照年龄从小到大的顺序对这个多维数组进行排序:

$people = array(
    array('name' => 'Alice', 'age' => 25),
    array('name' => 'Bob', 'age' => 20),
    array('name' => 'Charlie', 'age' => 30),
    array('name' => 'Dave', 'age' => 22)
);

$key = 'age';
排序多维数组

接下来,我们可以使用 array_multisort 函数对这个多维数组进行排序:

array_multisort(array_column($people, $key), SORT_ASC, $people);

这里,我们使用了 array_column 函数来提取多维数组中指定键值的列,然后将提取出的列传递给 array_multisort 函数,使其按照指定的键值进行排序。我们还指定了排序的顺序为升序。

输出排序结果

排序后,我们可以对多维数组进行遍历,输出排序结果:

foreach ($people as $person) {
    echo $person['name'] . ', ' . $person['age'] . '<br>';
}

这里,我们遍历了排序后的多维数组 $people,并输出了每个元素的名称和年龄。

完整代码

综上,我们的完整代码如下所示:

$people = array(
    array('name' => 'Alice', 'age' => 25),
    array('name' => 'Bob', 'age' => 20),
    array('name' => 'Charlie', 'age' => 30),
    array('name' => 'Dave', 'age' => 22)
);

$key = 'age';

array_multisort(array_column($people, $key), SORT_ASC, $people);

foreach ($people as $person) {
    echo $person['name'] . ', ' . $person['age'] . '<br>';
}

以上就是如何使用 PHP 对一个多维数组进行排序的介绍。