php 根据值排序
时间: 2023-07-20 12:10:07 浏览: 65
您可以使用 PHP 内置的 `sort()` 函数来根据值排序。例如,假设您有一个包含多个元素的数组 `$arr`,您可以使用以下代码按照值的升序对其进行排序:
```
sort($arr);
```
如果您想按照降序排序,则可以使用 `rsort()` 函数:
```
rsort($arr);
```
如果您想保留原始键名,则可以使用 `asort()` 和 `arsort()` 函数,它们与 `sort()` 和 `rsort()` 函数的用法类似,但是会保留原始键名。
相关问题
php 根据二位数组中某个值排序
可以使用 PHP 中的 `array_multisort()` 函数来根据二维数组中某个值进行排序。
示例代码如下:
```php
// 假设二维数组为 $data,需要根据 age 进行排序
$data = array(
array('name' => 'Tom', 'age' => 20),
array('name' => 'Jack', 'age' => 25),
array('name' => 'Mary', 'age' => 18),
);
// 定义一个新的数组,用于存储需要排序的列
$age = array();
foreach ($data as $key => $row) {
$age[$key] = $row['age'];
}
// 使用 array_multisort 函数进行排序
// 第一个参数为需要排序的数组,第二个参数为排序方式,第三个参数为需要排序的列
array_multisort($age, SORT_ASC, $data);
// 输出排序后的结果
print_r($data);
```
输出结果为:
```
Array
(
[0] => Array
(
[name] => Mary
[age] => 18
)
[1] => Array
(
[name] => Tom
[age] => 20
)
[2] => Array
(
[name] => Jack
[age] => 25
)
)
```
可以看到,二维数组按照 age 字段进行了升序排序。
php 数组对象,根据数组中的某一个值排序
假设您有一个包含多个对象的数组 `$arr`,您可以使用 PHP 内置的 `usort()` 函数来根据数组中的某一个值排序。以下是一个示例代码:
```php
usort($arr, function($a, $b) {
return $a->property - $b->property;
});
```
在上面的代码中,`$a` 和 `$b` 分别表示要进行比较的两个对象。`$a->property` 和 `$b->property` 分别表示这两个对象中用于比较的属性。通过返回 `$a->property - $b->property` 的值,`usort()` 函数将根据这个属性进行升序排序。
如果您想按照降序排序,则可以返回 `$b->property - $a->property` 的值。
注意,如果要按照字符串值而不是数字值进行排序,则可以使用 `strcmp()` 函数来比较两个字符串。例如,如果您想按照对象的名称属性进行排序,可以使用以下代码:
```php
usort($arr, function($a, $b) {
return strcmp($a->name, $b->name);
});
```