php 根据值排序
时间: 2023-07-20 10:08:28 浏览: 52
要根据数组中的值进行排序,可以使用 PHP 内置的排序函数 `sort()`、`asort()`、`arsort()`、`ksort()`、`krsort()`等。这些函数可以按照升序或降序排列数组的值,或按照键名排序。
下面是一个例子,展示如何使用`asort()`函数按照值进行升序排序:
```php
$fruits = array("apple", "banana", "orange", "grape");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
```
输出结果:
```
0 = apple
1 = banana
2 = grape
3 = orange
```
在这个例子中,`asort()`函数按照 `$fruits` 数组中的值进行排序,而不是按照键名排序。由于是升序排序,因此最终的输出结果是按照字母顺序排列的数组。
相关问题
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二维数组 按某个值排序
可以使用 PHP 中的 `usort` 函数来对二维数组按照指定的值进行排序。以下是一个示例代码:
```php
<?php
// 定义一个二维数组
$arr = array(
array('name' => 'Tom', 'age' => 20),
array('name' => 'Jerry', 'age' => 18),
array('name' => 'Alice', 'age' => 25)
);
// 定义一个回调函数,用于比较两个数组元素的大小
function compare($a, $b) {
if ($a['age'] == $b['age']) {
return 0;
}
return ($a['age'] < $b['age']) ? -1 : 1;
}
// 使用 usort 函数进行排序
usort($arr, 'compare');
// 输出排序后的数组
print_r($arr);
?>
```
以上代码会按照年龄从小到大的顺序排序输出每个人的名字和年龄。你可以根据自己的需求修改回调函数 `compare` 来按照不同的值进行排序。