In French there are no cases when two objects without preposition (=direct objects) occur behind a verb of giving, teaching, sending... (as in English): Eng. I gave John a letter = Fr. J'ai donne une lettre A John. The other object (the human being - target of the process) you refer to has to be introduced by "a". The same holds with "apprendre": "apprendre qqch a qqn" unambiguously means "to teach" while "apprendre qqch" is "to learn". > "J'ai appris la nouvelle" = learn / "J'ai appris la nouvelle a John/Je lui ai appris la nouvelle" = teach (or rather: inform, tell)
Now, "a" can also introduce an infinitive, but it then has to be distinguished from "a + someone". See: "J'ai appris A John A nager/Je lui ai appris A nager" = teach how to swim / "J'ai appris a nager" = learn.
Is it clearer?