Beware that negative zero does not compare equal to positive zero.(PHP 4, PHP 5, PHP 7, PHP 8)
bccomp — İki keyfi duyarlıklı sayıyı karşılaştırır
   sayı1 ile
   sayı2karşılaştırılır ve sonuç tamsayı
   olarak döndürülür.
  
sayı1Dizge olarak sol terim.
sayı2Dizge olarak sağ terim.
basamaknull ise,
       bcscale() ile atanan öntanımlı basamak sayısı
       veya son çare olarak
       bcmath.scale
       INI yönergesinin değeri kullanılır.
      
     
   Eğer iki terim eşitse 0 döndürür,
   sayı1
   sayı2'den büyükse 1,
   değilse -1 döndürür.
  
Bu işlev aşağıdaki durumlarda ValueError istisnası oluşturur:
sayı1 veya sayı2 iyi
     biçimlenmiş BCMath sayısal dizgesi değilse.
    basamak geçerli aralığın dışındaysa.
    | Sürüm: | Açıklama | 
|---|---|
| 8.0.0 | basamakartıknullolabiliyor. | 
Örnek 1 bccomp() örneği
<?php
echo bccomp('1', '2') . "\n";   // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1
?>BEWARE! left and right operand is string!! so number in E-notation like 9.012E-6  need to be converted with sprintf('%F') to stringImprovement of functions bcmax() and bcmin() originaly written by frank at booksku dot com
<?php
function bcmax() {
  $args = func_get_args();
  if (count($args)==0) return false;
  $max = $args[0];
  foreach($args as $value) {
    if (bccomp($value, $max)==1) {
      $max = $value;
    }
  }
  return $max;
}
function bcmin() {
  $args = func_get_args();
  if (count($args)==0) return false;
  $min = $args[0];
  foreach($args as $value) {
    if (bccomp($min, $value)==1) {
      $min = $value;
    }
  }
  return $min;
}
?>If you want to compare 2 decimals for equality, bccomp does not works as expected:
bccomp("1.000000000000000","0.999999999999999",2)
returns 1
Instead, use
bcsub("1.000000000000000","0.999999999999999",2) == 0