【发布时间】:2014-04-27 01:49:28
【问题描述】:
我有一个这样的数组:
$data[] = array('ALT_ID' => '202143_N', 'bmi' => 2.5);
$data[] = array('ALT_ID' => '202144_P', 'bmi' => 1.2);
$data[] = array('ALT_ID' => '202145_N', 'bmi' => 6.6);
$data[] = array('ALT_ID' => '202146_P', 'bmi' => 3.6);
$data[] = array('ALT_ID' => '202147_N', 'bmi' => 7.6);
$data[] = array('ALT_ID' => '202148_P', 'bmi' => 8.6);
如何对 ALT_ID(N 到 P)和 bmi(从低到高)进行排序以获得这样的数组:
array (
array('ALT_ID' => '202143_N', 'bmi' => 2.5),
array('ALT_ID' => '202145_N', 'bmi' => 6.6),
array('ALT_ID' => '202147_N', 'bmi' => 7.6),
array('ALT_ID' => '202144_P', 'bmi' => 1.2),
array('ALT_ID' => '202146_P', 'bmi' => 3.6),
array('ALT_ID' => '202148_P', 'bmi' => 8.6)
)
这是我尝试过的,但它没有以所需的格式提供输出:
<?php
$data[] = array('ALT_ID' => '202143_N', 'bmi' => 2.5);
$data[] = array('ALT_ID' => '202144_P', 'bmi' => 1.2);
$data[] = array('ALT_ID' => '202145_N', 'bmi' => 6.6);
$data[] = array('ALT_ID' => '202146_P', 'bmi' => 3.6);
$data[] = array('ALT_ID' => '202147_N', 'bmi' => 7.6);
$data[] = array('ALT_ID' => '202148_P', 'bmi' => 8.6);
foreach ($data as $key => $row) {
$volume[$key] = $row['ALT_ID'];
$bmi[$key] = $row['bmi'];
}
array_multisort($volume, SORT_ASC, SORT_STRING, $bmi, SORT_ASC, $data);
print_r($data);
?>
谢谢。
【问题讨论】:
标签: php arrays substring delimiter array-multisort