なんかどっかで戻り値が想定できない?ような設計はだめだ
みたいのを読んだ気がするんだけど、
functionの戻り値がOKなら配列(array)だめならfalse(bool)
みたいに違う型を送るのは、設計的にあまりよくないのですか?

戻り値が想定できないじゃなくて、文字列か配列特定できないどっちかが返ってしまうとかだったかも・・・。