在 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
参数来调整排序顺序。