disculpa que te pregunte esto pero recien empiezo con php, que iria en $formulario, $key y $value en la funcion?. 
 
adjunto el html asi lo ven mas claro. Por que debe haber una condicion en la cual el usuario pueda completar de los 4 los que necesite, no necesariamente las 4 filas , puede ser que necesite solo 1 y la idea es que se inserte esa sola y no de mensajes al tener los 3 campos llenos. osea haras1 , cant1 y fecha1, si completa solo esa linea tendria que insertar la linea y dar el mensaje que se inserto todo bien, ahora si en ves de llenar los 3 llena haras1 y cant1 debe decir que falta completar datos. El tema aca esta en que el usuario no siempre completa los 12 datos , inseta segun necesite el caso puede ser 1 2 3 o 4 por esta razon es la que se me complica hacerlo. 
saludos y gracias.  
 Código HTML:
 <form id="form1" name="form1" method="post" action="">
      <p>     <br />
        Haras                          Cantidad                      Fecha<br />
          <label>
               
            <input type="text" name="haras1" id="haras1" />
             
            <input type="text" name="cant1" id="cant1" />
          </label>
           
          <input type="text" name="fecha1" id="fecha1" />
   </p>
        <p>
          <input type="text" name="haras2" id="haras2" />
           
          <input type="text" name="cant2" id="cant2" />
           
          <input type="text" name="fecha2" id="fecha2" />
        </p>
        <p>
          <input type="text" name="haras3" id="haras3" />
           
          <input type="text" name="cant3" id="cant3" />
           
          <input type="text" name="fecha3" id="fecha3" />
        </p>
        <p>
          <input type="text" name="haras4" id="haras4" />
           
          <input type="text" name="cant4" id="cant4" />
           
          <input type="text" name="fecha4" id="fecha4" />
        </p>
        <p>
          <input type="submit" name="enviar" id="enviar" value="enviar" />
        </p>
    </form>