Actually, PHP has one of the stranger, but more capable soft type systems around. In most systems you either have hard types, like C, where you declare ahead of time what it is and it never changes, or soft type systems where everything is stored as a string and converted n the fly. Generally, this makes the hard type systems faster, and the soft typed systems more versatile.
What PHP does is assign a type when the var is created / assigned to. So,
$var = 23.5
means the PHP interpreter internally stores 23.5 as a float.
$var = 55
gets assigned an int and
$var = "123 sesame street"
becomes a string.
Then, while operating on these vars, PHP automagically coerces them to the right types to be compatible based on what you're doing to them and what type they are. So, when you add two vars that are internally assigned as floats, PHP does NOT coercian, it just leaves them alone and does int math on them.
To make a long answer shorter, yes, you can coerce the type just like in C:
$a = $b(int)
and that's the normal way to do it. But you normally don't have to.