在 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 循环将需要排序的列(volume 和 edition)分别存储到新数组 $volume 和 $edition 中。接下来,我们使用 array_multisort() 函数对这些列进行排序。最后,我们使用 print_r() 函数打印排序后的多维数组。
在这个示例中,我们按照 volume 降序排序,并在 volume 相同时按照 edition 升序排序。你可以根据需要修改 SORT_DESC 和 SORT_ASC 参数来调整排序顺序。