Moto G5 Plus is better option to buy. As it has good performance,strong battery backup, better cameras than Samsung Galaxy J5/J7 Prime . Moreover, it runs on latest Android Nougat and Motorola phones always get future OS updates way before than Samsung phones.
Redmi NOte 4 is very much better than J7 Prime. It offers faster processor, more RAM, more storage and better battery than J7 Prime. Overall performance is also great. There are no heating, hanging/lagging issues. But, if you are a Samsung lover, you can go for J7 Prime. Have a look at this comparison.
I am using Oppo F1s and its a good phone and has more RAM , excellent front camera,good battery backup. iPhone 5s is very old phone , Only go for it if you want to experience iOS in low price. Comparison