Well. That was easy to fix.
So. Turns out there was a bit of an infinite loop going on. To fix it...
if( isdigit( argument ) )
if( isdigit( argument ) && !is_number( argument ) )
And you're done. That's it. Simple. Now I need to do an official post...