|
|
|
| Необходимо пересортировать массив. Например у нас первоначальный массив вот такой:
$arr[0]['group'] = '02';
$arr[0]['name'] = 'Ivanov';
$arr[1]['group'] = '03';
$arr[1]['name'] = 'Borisov';
$arr[2]['group'] = '02';
$arr[2]['name'] = 'Alekseev';
|
Необходимо пересортировать его вот и вывести в таком виде:
02 Alekseev
02 Ivanov
03 Borisov
то-есть по порядку цифер (по возрастанию) в группах и фамилии (по алфавиту).
Спасибо! | |
|
|
|
|
|
|
|
для: kolt
(28.01.2008 в 14:59)
| |
<?php
function cmp($a, $b)
{
if( $a['group'] > $b['group'] )
{
return 1;
}
else if( $a['group'] < $b['group'] )
{
return -1;
}
else
{
return strcmp($a['name'], $b['name']);
}
}
$arr[0]['group'] = '02';
$arr[0]['name'] = 'Ivanov';
$arr[1]['group'] = '03';
$arr[1]['name'] = 'Borisov';
$arr[2]['group'] = '02';
$arr[2]['name'] = 'Alekseev';
usort($arr, 'cmp');
print_r($arr);
?>
|
| |
|
|
|
|
|
|
|
для: kolt
(28.01.2008 в 14:59)
| |
<?
$arr[0]['group'] = '02';
$arr[0]['name'] = 'Ivanov';
$arr[1]['group'] = '03';
$arr[1]['name'] = 'Borisov';
$arr[2]['group'] = '02';
$arr[2]['name'] = 'Alekseev';
$new = array();
foreach ( $arr as $entry )
$new[$entry['group']][] = $entry['name'];
foreach ( $new as $key => $val ) {
sort($val);
$new[$key] = $val;
}
ksort($new);
foreach ( $new as $group => $names ) {
for ( $i = 0; $i < count($names); $i++ ) {
print $group." ".$names[$i]."<br/>";
}
}
|
| |
|
|
|
|
|
|
|
для: kolt
(28.01.2008 в 14:59)
| | Громадное спасибо за помощь! | |
|
|
|