- range: documentation ( source)
<?php
$diffs = [];
$unexpectedTraditional = $unexpectedNew = 0;
foreach (range(1, 99999) as $i) {
$float = $i / 100;
$multiple1 = $float * 100;
$multiple2 = (float) (string) ($float * 100);
$int1 = (int) $multiple1;
$int2 = (int) $multiple2;
if ($int1 !== $int2) {
$diffs[] = $i;
if ($int1 !== $i) {
$unexpectedTraditional++;
}
if ($int2 !== $i) {
$unexpectedNew++;
}
}
}
echo 'Unexpected count traditional approach: '.$unexpectedTraditional."\n";
echo 'Unexpected count new approach: '.$unexpectedNew."\n";
//echo 'Differences for:'."\n";
//var_dump($diffs);