src/IntMath.php
/**
     * Returns the difference of the arguments.
     *
     * The subtraction of a positive number yields the same result as the
     * addition of a negative number of equal magnitude. Furthermore, the
     * subtraction from zero is the same as negation.
     *
     * The result is the low-order bits of the true mathematical result as
     * represented in a sufficiently wide two's-complement format. If overflow
     * occurs, then the sign of the result may not be the same as the sign of
     * the mathematical difference of the two values. Despite the overflow, no
     * exception is thrown in this case.
     *
     * @param integer $a The minuend.
     * @param integer $b The subtrahend.
     *
     * @return integer The difference.
     *
     * @throws InvalidArgumentException If one of the arguments is not an
     *                                  integer.
     */
Returns the difference of the arguments.
The subtraction of a positive number yields the same result as the
addition of a negative number of equal magnitude. Furthermore, the
subtraction from zero is the same as negation.

The result is the low-order bits of the true mathematical result as
represented in a sufficiently wide two's-complement format. If overflow
occurs, then the sign of the result may not be the same as the sign of
the mathematical difference of the two values. Despite the overflow, no
exception is thrown in this case.

@param integer $a The minuend.
@param integer $b The subtrahend.

@return integer The difference.

@throws InvalidArgumentException If one of the arguments is not an
integer.
Returns the difference of the arguments . The subtraction of a positive number yields the same result as the addition of a negative number of equal magnitude . Furthermore the subtraction from zero is the same as negation . The result is the low - order bits of the true mathematical result as represented in a sufficiently wide two ' s - complement format . If overflow occurs then the sign of the result may not be the same as the sign of the mathematical difference of the two values . Despite the overflow no exception is thrown in this case . @param integer $a The minuend . @param integer $b The subtrahend . @return integer The difference . @throws InvalidArgumentException If one of the arguments is not an integer .
public static function subtract($a, $b)
    {
        self::assertInteger($a);
        self::assertInteger($b);
        return self::add((int)$a, self::negate($b));
    }
public static function subtract ( $ a , $ b ) { self :: assertInteger ( $ a ) ; self :: assertInteger ( $ b ) ; return self :: add ( ( int ) $ a , self :: negate ( $ b ) ) ; }
Returns the difference of the arguments.
Returns the difference of the arguments .