count だと文字が入っていても true になることあるね.

if (is_array($array) and count($array)) {

とする必要あり?