PHP, ceilとfloorの挙動の違いについて

ceilは与えられた小数に対して,繰り上がった整数値を返す関数です. 例)

ceil(4.2); \\ => 5
ceil(9.8); \\ => 10

一方,floorは繰り下がった整数値を返します. 例)

floor(4.2); \\ => 4
floor(9.8); \\ => 9

これが負の数に対しては以下のようになります.

ceil(-4.2) \\ => -4
floor(-4.2) \\ => -5

ここで,絶対値に対してfloorやceilを作用させたいケースが多いので,その場合は以下のように実装するとよいと思います.

function my_ceil($num) {
    $sign = 1;
    if($num != 0)$sign = $num / abs($num);
    return $sign * ceil(abs(num))
}

floorに関しても,同様に絶対値にのみ関数が作用するように実装できます.

my_ceil(4.2) // => 5
my_ceil(-4.2) // => -5