Audit my Code - Data converstions?
Posted: Tue Aug 03, 2010 11:59 am
I was curious if there are other/better ways to code the following (it's a function to convert data sizes):
thanks!
Code: Select all
function convert_data( $number, $unit0, $unit1 )
{ // Base unit is megabytes
$d = array();
$d['bit'] = 1/(2^23);
$d['b'] = $d['byte'] = 1/(2^20);
$d['kbit'] = $d['kilobit'] = 1/(2^13);
$d['kb'] = $d['kilobyte'] = 1/(2^10);
$d['mbit'] = $d['megabit'] = 1/(2^3);
$d['mb'] = $d['megabyte'] = 2^0;
$d['gbit'] = $d['gigabit'] = 2^3;
$d['gb'] = $d['gigabyte'] = 2^10;
$d['tbit'] = $d['terabit'] = 2^13;
$d['tb'] = $d['terabyte'] = 2^20;
$d['pbit'] = $d['petabit'] = 2^23;
$d['pb'] = $d['petabyte'] = 2^30;
$d['ebit'] = $d['exabit'] = 2^33;
$d['eb'] = $d['exabyte'] = 2^40;
$t = (array_key_exists($unit0, $d) AND array_key_exists($unit0, $d))? ($number * $d[$unit0]) / $d[$unit1]: FALSE;
unset($d);
return $t;
}