Tip: See my list of the Most Common Mistakes in English. It will teach you how to avoid mis­takes with com­mas, pre­pos­i­tions, ir­reg­u­lar verbs, and much more.

Both “learned” and “learnt” are considered correct as the past tense and past participle of “learn”. However, take a look at the following graph of usage of the two words in American literature (you can learn more about such diagrams here):

The reason the graph is for “have learn(t/ed)” instead of just “learn(t/ed)” is that “learned” is also an adjective (now quite uncommon) meaning “having a lot of knowledge”, pronounced /ˈlɜːnɪd/ (UK), /ˈlɜːrnɪd/ (US), which would slightly skew the results in favour of “learned”.

“Learnt” is somewhat more popular in British English:

There was almost no difference in popularity between the two around the 1940s. However, “learned” is now the preferred form in the UK as well, so especially if you are writing for an international audience, it’s better to stick with “learned”.

Also note that “learned” is pronounced /lɜːnd/ (UK) resp. /lɜːrnd/ (US), i.e. with a “D” at the end, whereas “learnt” is pronounced /lɜːnt/ (in the UK; as in the written form, the corresponding pronunciation in the US is almost non-existent).