3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); $number = new \BcMath\Number(-1); $values = [ 0, '0.2', 0.2, new \BcMath\Number('0.2'), fopen('php://stdin', 'r'), new stdClass(), ]; $printBool = static fn (bool $b) => $b ? 'true' : 'false'; foreach ($values as $val) { printf("--------------\n%s\n--------------\n", print_r($val, true)); echo '<: ' . $printBool($number < $val) . "\n"; echo '<=: ' . $printBool($number <= $val) . "\n"; echo '>: ' . $printBool($number > $val) . "\n"; echo '>=: ' . $printBool($number >= $val) . "\n"; echo '==: ' . $printBool($number == $val) . "\n"; echo '!=: ' . $printBool($number != $val) . "\n"; echo '<=>: ' . ($number <=> $val) . "\n"; }
Output for 8.4.1 - 8.4.13
-------------- 0 -------------- <: true <=: true >: false >=: false ==: false !=: true <=>: -1 -------------- 0.2 -------------- <: true <=: true >: false >=: false ==: false !=: true <=>: -1 -------------- 0.2 -------------- Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 17 <: true Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 18 <=: true Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 19 >: false Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 20 >=: false Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 21 ==: false Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 22 !=: true Deprecated: Implicit conversion from float 0.2 to int loses precision in /in/K7THf on line 23 <=>: -1 -------------- BcMath\Number Object ( [value] => 0.2 [scale] => 1 ) -------------- <: true <=: true >: false >=: false ==: false !=: true <=>: -1 -------------- Resource id #5 -------------- <: false <=: false >: false >=: false ==: false !=: true <=>: 1 -------------- stdClass Object ( ) -------------- <: false <=: false >: false >=: false ==: false !=: true <=>: 1
Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.26
Fatal error: Uncaught Error: Class "BcMath\Number" not found in /in/K7THf:3 Stack trace: #0 {main} thrown in /in/K7THf on line 3
Process exited with code 255.

preferences:
59.26 ms | 409 KiB | 5 Q