Knowing something "by heart" means you have it memorized and don't need to have any notes or reminders.
The idiom is "know something/someone inside out."
Unless there is truly something wrong with your heart, then yes, it is an idiom. My heart fell, my heart exploded, my heart sang, my heart doing anything other than pumping blood is an analogy and an idiom.
Idiom
It is not an idiom. Unkindness is often called heartlessness, and so the expression "have a heart" means "Do not be unkind."
"A heart of stone" is a personification.
It is an idiom, because it does not use the term "like" or "as".
The idiom "my heart was in my mouth" means feeling extremely anxious or nervous to the point where it feels like your heart is pounding heavily in your chest.
It means find that part in the heart, tell what it has, and what it is.
This idiom is wearing their heart on their sleeve. It means everyone can see how that person feels. Perhaps showing love towards another person.
no. a simile is a phrase with like or as in it. Has given your heart would be an idiom
Literally it means that you have a heart, you physically possess that bodily organ.
"With a big heart" means one is sensitive to the needs of others.
"Put your heart into it" means to put as much effort as possible into something.