revjim.net

funny PHP math

After my funny math in Python demonstration, Matt decided to do it in Java and then again with even more types. So… I decided to try it in PHP.

Here’s the code:

print("Let's do some math!\n");

$One = 1;
$Ten = 10;
$Pointone = 0.1;

print("loose: 1/10 = " . $One/$Ten . "\n");

$intOne = (int) 1;
$intTen = (int) 10;
$intPointone = (int) 0.1;

print("int: 1/10 = " . ($intOne/$intTen) . "\n");
print("FORCE int: 1/10 = " . (int)($intOne/$intTen) . "\n");

$floOne = (float) 1;
$floTen = (float) 10;
$floPointone = (float) 0.1;

print("float: 1/10 = " . ($floOne/$floTen) . "\n");
print("FORCE float: 1/10 = " . (float)($floOne/$floTen) . "\n");

$sumPointone = 0;
$sumintPointone = (int) 0;
$sumfloPointone = (float) 0;

for($x = 0; $x < 10; $x++) {
        $sumPointone += $Pointone;
        $sumintPointone += $intPointone;
        $sumfloPointone += $floPointone;
}

$multPointone = $Pointone * 10;
$multintPointone = $intPointone * 10;
$multfloPointone = $floPointone * 10;

print("SUM loose: " . $sumPointone . "\n");
print("SUM int: " . $sumintPointone . "\n");
print("SUM FORCE int: " . (int) $sumintPointone . "\n");
print("SUM float: " . $sumfloPointone . "\n");
print("SUM FORCE float: " . (float) $sumfloPointone . "\n");

print("MULT loose: " . $multPointone . "\n");
print("MULT int: " . $multintPointone . "\n");
print("MULT FORCE int: " . (int) $multintPointone . "\n");
print("MULT float: " . $multfloPointone . "\n");
print("MULT FORCE float: " . (float) $multfloPointone . "\n");

And here is the output:

revjim@kilgore:~$ php -q ./math.php
Let's do some math!
loose: 1/10 = 0.1
int: 1/10 = 0.1
FORCE int: 1/10 = 0
float: 1/10 = 0.1
FORCE float: 1/10 = 0.1
SUM loose: 1
SUM int: 0
SUM FORCE int: 0
SUM float: 1
SUM FORCE float: 1
MULT loose: 1
MULT int: 0
MULT FORCE int: 0
MULT float: 1
MULT FORCE float: 1
revjim@kilgore:~$