As the manual says, decrementing NULL in this way yields NULL, although incrementing it yields 1, as you might expect. Can't quite see why this makes sense, but if you need to work around it, you can use '-= 1' instead:
<?php
$i = null;
--$i;
var_dump($i); // NULL
$i--;
var_dump($i); // NULL
$i-=1;
var_dump($i); // int(-1)
?>
Note that -= returns the value assigned, so treat it like '--$i', not '$i--' if you're testing the value.