When we 're dealing with integers, usually it's sufficient to add a
style="text-align: right;"to right-align the numbers in a column.
Floating point numbers, on the other hand, may require the use of number_format() function to properly format them, for example to have the same number of decimals (added to the obvious round(), floor() and ceil() functions).
But, what if I wanted to sort an array having two arithmetic columns?
Then, I'd use the sprintf() function to zero-pad numeric values, like this (certain sections are omitted):
$u0 = mysql_query( $sql, $db) or die( mysql_error());
$aa = array();
while ($u1 = mysql_fetch_row( $u0)) {
$id = $u1[0];
$c1 = $u1[1];
$aa[$id] = number_format($u1[2]/$c1,4) .":". sprintf("%06d", $c1);
}
arsort( $aa); reset( $aa);
while (list($k, $v) = each($aa)) {
list( $v1, $c1) = explode( ":", $v);
$c1 = intval( $c1);
$v1 = round( $v1, 2);
[......]
}With this technique, one can sort numeric values properly as numbers (although by internally converting them to strings). Visit The Light of the LAMP blog for more...
Διαβάστε όλο το άρθρο στο "The light of the LAMP" »
Μεταφράστε αυτό το άρθρο (Translate this article) »
