php 二位数组排序
时间: 2023-07-20 13:08:38 浏览: 55
你可以使用 PHP 中的 `array_multisort` 函数来对二维数组进行排序。以下是一个例子:
```php
// 假设我们有一个二维数组,其中每个子数组包含两个元素:name 和 age
$people = array(
array('name' => 'John', 'age' => 25),
array('name' => 'Jane', 'age' => 30),
array('name' => 'Bob', 'age' => 20)
);
// 按照 age 从小到大排序
$ages = array_column($people, 'age');
array_multisort($ages, SORT_ASC, $people);
// 输出结果
print_r($people);
```
在上面的例子中,我们使用了 `array_column` 函数来获取二维数组中的一个列作为排序依据。然后,我们使用 `array_multisort` 函数对该列进行排序,并按照排序后的结果对整个二维数组进行排序。
相关问题
php 二级数组排序
在PHP中,对二维数组进行排序有多种方法。引用和提供了两种不同的排序方法。方法一是通过自定义函数multisortArray来实现,该方法接受一个二维数组和需要排序的字段作为参数,并返回排序后的数组。方法二则是通过调用PHP内置函数array_multisort来实现排序。该函数接受两个或多个数组作为参数,并按照指定的字段和排序类型进行排序。
举个例子,如果我们有一个二维数组$arr,其中包含了 "f" 和 "s" 两个字段,我们可以使用以下代码对其进行排序:
```
$arr = [
["f" => 1, "s" => 2],
["f" => 1, "s" => 3],
["f" => 2, "s" => 3],
];
$first = array_column($arr, "f");
$second = array_column($arr, "s");
array_multisort($first, SORT_ASC, $second, SORT_DESC, $arr);
```
这样,数组$arr就会根据第一个字段"f"进行升序排序,如果第一个字段相同,则根据第二个字段"s"进行降序排序。最后,我们可以使用dd()函数来显示排序后的数组。
以上就是对PHP二维数组排序的方法和一个示例。你可以根据自己的需求选择合适的方法来排序二维数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [PHP二维数组排序](https://blog.csdn.net/qq_29945729/article/details/68923884)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [php二维数组排序](https://blog.csdn.net/weiguang102/article/details/115507617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
PHP二维数组怎么排序
可以使用PHP中的usort函数来对二维数组进行排序。首先,定义一个比较函数,然后传递该函数和要排序的数组作为参数。比如,以下是按照某一列进行排序的示例代码:
```php
<?php
// 要排序的二维数组
$array = array(
array('name'=> 'John', 'age'=> 26),
array('name'=> 'Jane', 'age'=> 21),
array('name'=> 'Bob', 'age'=> 31)
);
// 按照age列进行排序
usort($array, function($a, $b) {
return $a['age'] - $b['age'];
});
// 输出排序后的结果
foreach($array as $row) {
echo $row['name'] . ' - ' . $row['age'] . '<br />';
}
?>
```
该代码会输出:
```
Jane - 21
John - 26
Bob - 31
```
我们可以根据具体的需求调整比较函数,以实现不同的排序结果。