1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
<?php
$table = array ( '0' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var3'
)
, '1' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var2'
)
, '2' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var3'
)
, '3' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var2'
)
, '4' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var1'
)
, '5' => array ( 'a' => 'peu importe 1'
, 'b' => 'peu importe 2'
, 'c' => 'var2'
)
) ;
$mydata = array();
foreach ($table as $key => $data) {
$index = $data['c'];
if (isset($mydata[$index])) {
++$mydata[$index];
unset($table[$key]);
}
else {
$table[$key]['d'] = 1;
$mydata[$index] =& $table[$key]['d'];
}
}
unset($mydata);
usort($table, create_function('$a, $b', 'return ($a["d"]<$b["d"])?1:-1;'));
echo '<pre>', print_r($table, true), '</pre>';
?> |
Partager