質問の文のように、文に二つの目的語がある場合、「a present(直接目的語)」と「her(間接目的語)」のどちらが先に来ても意味に違いはありません。但し、「her」を「a present」の後に持って来る場合、「her」の前に前置詞「to」を使用して「to her」という前置詞句にする必要があります。
He gave her a present.
He gave a present to her.
彼は、彼女にプレゼントをあげた。
尚、一般的に間接目的語を強調したい場合や前置詞句が長くなる場合は、直接目的語を間接目的語の前に持って来ることが好まれます。
He gave a present to all the guests who attended his wedding.
彼は、結婚式に出席したゲスト全員にプレゼントを贈った。
もし、間接目的語を直接目的語の前に持って来た場合、分かりづらくなります。
He gave all the guests who attended his wedding a present.
難易度:5/10
関連リンク:「記念」と言いたい時に「anniversary」を使用するかと思いますが、悲惨な出来事の記念でも「anniversary」になりますか?