学校で習った初等算術を憶えていますか? この演算子はそれらと同様に動作します。
除算演算子 ("/") の返す値は浮動小数点数となります。 ただし、ふたつのオペランドがともに整数 (あるいは整数に変換できる文字列) であり、かつ結果が割り切れる場合には整数値を返します。 整数の除算については intdiv を参照ください。
剰余演算子は、まず両方のオペランドを整数に直してから処理を行います。 浮動小数点の剰余については fmod を参照ください。
剰余演算子 % の結果の符号は、被除数の符号と同じになります。 つまり、$a % $b の結果の符号は $a と同じになるということです。
%
$a % $b
<?php echo (5 % 3)."\n"; // 2 echo (5 % -3)."\n"; // 2 echo (-5 % 3)."\n"; // -2 echo (-5 % -3)."\n"; // -2 ?>