Would you please show me what is the difference between these? feel free to take example. Many thanks
struggling for survival
struggling for life
With respect to a person, I would say there is a difference.
John is struggling for survival - This would most likely be used if John has a very lowly paid job and can't afford to keep himself and his family housed and fed properly.
John is struggling for life - This would be appropriate if John is in hospital and is in danger of dying.
There really isn't much of a difference between those two. They aren't really idioms either, as you can say "struggling to win" or "struggling to write" or "struggling to (insert verb here)".
So your question actually boils down to "what is the difference between survival and life," and the answer, here, is nothing. If you survive, then you lived. If you lived, then you must have survived. So they mean the same thing.
Keep in mind that context is very imporant, though. If you are talking about something that isn't living, such as a company, then it wouldn't be appropriate to say, "the company is struggling for life." It isn't wrong gramatically, but it just isn't something that would be said about a company. But while a company can't have life, a company can survive some sort of event, so you can say "the company is struggling to survive."