- Output for git.master, git.master_jit, rfc.property-hooks
- <?phpif ( ! isset($argv[1]) || ! isset($argv[2])){ exit("An argument was expected.");}$base = substr($argv[1], 0, -1);$unit = substr($argv[1], strlen($argv[1])-1, 1);if ( ! is_numeric($argv[1][strlen($argv[1])-2])){ $base = substr($argv[1], 0, -2); $unit = substr($argv[1], strlen($argv[1])-2, 2);}if ( strlen($argv[1]) >= 3 && ! is_numeric($argv[1][strlen($argv[1])-3])){ $base = substr($argv[1], 0, -3); $unit = substr($argv[1], strlen($argv[1])-3, 3);}$targetUnit = $argv[2];if ( ! is_numeric($base) || is_float($base) === true){ exit("The argument is not a valid number.");}switch ($unit){ case 'GB': case 'GiB': $bits = $base * 1024 * 1024 * 1024 * 8; break; case 'Gb': case 'Gib': $bits = $base * 1024 * 1024 * 1024; break; case 'gB': $bits = $base * 1000 * 1000 * 1024 * 8; break; case 'gb': $bits = $base * 1000 * 1000 * 1024; break; case 'MB': case 'MiB': $bits = $base * 1024 * 1024 * 8; break; case 'Mb': case 'Mib': $bits = $base * 1024 * 1024; break; case 'mB': $bits = $base * 1000 * 1024 * 8; break; case 'mb': $bits = $base * 1000 * 1024; break; case 'KB': case 'KiB': $bits = $base * 1024 * 8; break; case 'Kb': case 'Kib': $bits = $base * 1024; break; case 'kB': $bits = $base * 1000 * 8; break; case 'kb': $bits = $base * 1000; break; case 'B': $bits = $base * 8; break; case 'b': $bits = $base; break; default: exit("Unit {$unit} is not supported.");}switch ($targetUnit){ case 'GB': case 'GiB': $resultBase = $bits / 1024 / 1024 / 1024 / 8; break; case 'Gb': case 'Gib': $resultBase = $bits / 1024 / 1024 / 1024; break; case 'gB': $resultBase = $bits / 1000 / 1000 / 1024 / 8; break; case 'gb': $resultBase = $bits / 1000 / 1000 / 1024; break; case 'MB': case 'MiB': $resultBase = $bits / 1024 / 1024 / 8; break; case 'Mb': case 'Mib': $resultBase = $bits / 1024 / 1024; break; case 'mB': $resultBase = $bits / 1000 / 1024 / 8; break; case 'mb': $resultBase = $bits / 1000 / 1024; break; case 'KB': case 'KiB': $resultBase = $bits / 1024 / 8; break; case 'Kb': case 'Kib': $resultBase = $bits / 1024; break; case 'kB': $resultBase = $bits / 1000 / 8; break; case 'kb': $resultBase = $bits / 1000; break; case 'B': $resultBase = $bits / 8; break; case 'b': $resultBase = $bits; break; default: exit("Unit {$targetUnit} is not supported.");}//$resultBase = number_format($resultBase, 0, '', '');echo "{$resultBase}{$targetUnit}";
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
- 2020-03-21 RFC: Is_Literal - declined
- 2020-12-04 Enumerations - included in PHP 8.1
- 2018-06-15 Typed Properties v2 - implemented in PHP 7.4
- 2016-08-12 Object typehint - included in PHP 7.2
- 2016-08-14 Arrow functions - withdrawn
- 2016-05-29 array_change_keys() - withdrawn
- 2016-04-19 Lexical scope support for anonymous classes - suspended
- 2016-04-17 Functional Interfaces - declined
- 2016-03-16 Typed Properties - superseded in favor of Typed Properties 2.0
- 2015-08-27 Callable Prototypes - declined
- 2015-05-01 Short Closures - declined / withdrawn in favor of Arrow Functions
- 2015-02-18 Scalar type hints v5 - included in PHP 7
- 2015-02-14 Union Types - declined
- 2013-09-22 Anonymous classes - included in PHP 7