我得到了一个多维数组,它是这样构建的:
array(
array(
'zahlungen_id' => 1,
'reise_id' => 1,
'name' => 'Liam Schnell',
'schul_id' => 1,
'summe' => 49,
'art' => 'PayPal',
'sicher' => 0,
'datum' => '2014-05-05'
),
array(
'zahlungen_id' => 2,
'reise_id' => 3,
'name' => 'Max Göllner',
'schul_id' => 1,
'summe' => 49,
'art' => 'SOFORT',
'sicher' => 1,
'datum' => '2014-05-06'
),
array(
'zahlungen_id' => 3,
'reise_id' => 2,
'name' => 'Sasha Novalja',
'schul_id' => 2,
'summe' => 49,
'art' => 'Kreditkarte',
'sicher' => 1,
'datum' => '2014-05-05'
),
array(
'zahlungen_id' => 4,
'reise_id' => 1,
'name' => 'Hans Wurst',
'schul_id' => 1,
'summe' => 49,
'art' => 'Sofort',
'sicher' => 0,
'datum' => '2014-05-04'
)
);
是否有任何方法我可以使用'schul_id'来排序数组本身?比如降序schul_id?
array_multisort
涵盖了这一点,下面是他们的文档中针对您的问题调整的示例:
foreach($data as $key => $row) {
$schul_id[$key] = $row['schul_id'];
}
array_multisort($schul_id, SORT_DESC, $data);
print_r($data);
第一条评论是对的!我用了这个
function aasort(&$array, $key) {
$sorter = array();
$ret = array();
reset($array);
foreach ($array as $ii => $va) {
$sorter[$ii] = $va[$key];
}
asort($sorter);
foreach ($sorter as $ii => $va) {
$ret[$ii] = $array[$ii];
}
$array = $ret;
}
您要查找的是:
function cmp($a, $b) {
if ($a["schul_id"] == $b["schul_id"]) {
return 0;
}
return ($a["schul_id"] > $b["schul_id"]) ? -1 : 1;
}
uasort($array, 'cmp');