So?
if( funktion() === false ) {
// tu was
}
Das zumindest wird _nur_ ausgeführt, wenn der return false ist. Vielleicht habe ich Dich auch nicht verstanden.
Generell hat mir bei dieser Art Entscheidungen immer diese Tabelle geholfen: Type comparison table. Ich arbeite auch gerne mit dem NULL Wert, und is_null(), was Dir vielleicht Denkanstöße gibt.
Cheers,
Baba