Te estas complicando mucho con índices y loops. Cambiar una variable para romper el loop es de mal gusto y propenso a errores. Fijate en
http://ar2.php.net/manual/en/ref.array.php que tenes un montón de utilidades para trabajar con arrays. Bueno fijate si esto te sirve:
Cita: function insertarCategoria($nuevo_cate,&$array_categoria) {
if (in_array($nuevo_cate,$array_categoria,TRUE)) {
echo "Esa Categoria ya esta creada";
return false;
}
return $array_categoria[] = $nuevo_cate;
}