обрати внимание на это $answer = array_diff($answer, array(''));
array('') - пустой массив, функция вернет тоже пустой массив, поэтому у тебя и ноль там получается. это как вариант. смотрю все на глаз, предупреждаю сразу, без компилятора, и второе, может банально где-то имена переменных совпали