PHP lets you do a lot of stuff you couldn't get away with in a strongly-typed language, but in addition to doing something like VGR is suggesting, you can actually program much more 'rigidly' if you make yourself. First, type cast everything:
http://www.php.net/manual/en/language.types.type-juggling.php#language.types.typecastingNext, use the 'is identical' operators rather than equals
== --> ===
!= --> !==
Then, never do anything like:
$var = ($n > 5) ? 15 : false;
Finally, adopt a variable-naming convention that clearly incorperates the type of the variable into the name. This will keep you from accidentally doing any funny business with your typing. I quote from section of the ERT PHP Team's coding standard that Richard and I put together:
$s_striing a string
$i_num an integer
$f_num a float
$b_is_condition boolean. Always phrased in the positive (i.e. NOT $b_is_not_condition)
$r_resource a resource
$h_handle a file handle
$m_var a 'mixed' variable of non-constant type
$o_class_abbrev an object, class_abbrev is an abbreviation for the class name
$ax_array an array of type x, eg $as_blah for an array of strings.
If the elements are of different types use $am_mixedbunch
where possible, associative array elements in mixed arrays should be named
according to these conventions, e.g. $am_my_stuff['i_my_integer']
In other words, dont do anything that would get a C compiler to bark at you. As VGR says, it's unfortunate that you can't turn off the type juggling in PHP, but if you follow those guidelines you can get very close while benefitting from the OOP features and built-in functions of PHP. BTW, I'm not sure which version you are most familiar with, but PHP 5 OOP is greatly improved over PHP 4, so I would definitely recommend that for this project.
The one show stopper in the case of PHP is that some functions do not return a single type. For example, strpos() will return either an integer, or if the search string is not found, it returns boolean false. The only way to get around that would be to either not use the function, or to wrap it on your own that obeys strong typing.
Hope that helps and that's not too much you already know.