温馨提示×

如何用php实现多维数组排序

PHP
小樊
82
2024-09-06 00:56:58
栏目: 编程语言

在 PHP 中,可以使用 array_multisort() 函数对多维数组进行排序。下面是一个示例:

<?php
// 初始化一个多维数组
$data = array(
    array('volume' => 67, 'edition' => 2),
    array('volume' => 86, 'edition' => 1),
    array('volume' => 85, 'edition' => 6),
    array('volume' => 98, 'edition' => 2),
    array('volume' => 86, 'edition' => 6)
);

// 初始化需要排序的列
$volume = $edition = array();

// 将需要排序的列分别存储到新数组中
foreach ($data as $key => $row) {
    $volume[$key] = $row['volume'];
    $edition[$key] = $row['edition'];
}

// 对需要排序的列进行排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);

// 打印排序后的多维数组
print_r($data);
?>

这个示例中,我们首先创建了一个包含五个子数组的多维数组 $data。然后,我们使用 foreach 循环将需要排序的列(volumeedition)分别存储到新数组 $volume$edition 中。接下来,我们使用 array_multisort() 函数对这些列进行排序。最后,我们使用 print_r() 函数打印排序后的多维数组。

在这个示例中,我们按照 volume 降序排序,并在 volume 相同时按照 edition 升序排序。你可以根据需要修改 SORT_DESCSORT_ASC 参数来调整排序顺序。

0