(PHP 8 >= 8.4.0)
BcMath\Number::compare — Сравнивает два числа произвольной точности
Метод сравнивает два числа произвольной точности. Метод ведёт себя аналогично оператору космического корабля.
numscalescale указывает, сколько цифр в дробной части числа сравнивать.
       При значении null метод сравнивает все цифры.
      
     
   Метод возвращает 0, если оба числа равны,
   1, если значение в переменной $this больше числа в аргументе num,
   в остальных случаях возвращает -1.
  
Метод выбрасывает ошибку ValueError в следующих случаях:
num передали значение с типом string,
     которое сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath.
    scale выходит за пределы допустимого диапазона.
    Пример #1 
    Пример сравнения двух чисел методом BcMath\Number::compare()
    без указания значения для параметра scale
   
<?php
$number = new BcMath\Number('1.234');
var_dump(
    $number->compare(new BcMath\Number('1.234')),
    $number->compare('1.23400'),
    $number->compare('1.23401'),
    $number->compare(1),
);
?>Результат выполнения приведённого примера:
int(0) int(0) int(-1) int(1)
Пример #2 
    Пример сравнения двух чисел методом BcMath\Number::compare()
    с явным значением для параметра scale
   
<?php
$number = new BcMath\Number('1.234');
var_dump(
    $number->compare(new BcMath\Number('1.299'), 1),
    $number->compare('1.24', 2),
    $number->compare('1.22', 2),
    $number->compare(1, 0),
);
?>Результат выполнения приведённого примера:
int(0) int(-1) int(1) int(0)
