Personally, the iPhone has a very nice battery life. They are fairly expensive to buy but they have so many amazing qualities, like an awesome camera and the battery life. The battery lasts around 7 to 48 hours, depending on how you are using it. Hope this helps!
There are many good smartphones in terms of battery life such as Huawei Ascend Mate, Xolo Q3000, LG G Flex, HTC One Max, Samsung Galaxy Note 3 and so on. But so far, the all-rounder smartphone in terms of battery life is Nokia Lumia 1520.
The iPhone isn't bad either.
The thing to remember is also how you use your phone: if you have a lot of applications running in the background, then there is no way you are going to keep your battery life for very long, no matter what device you're using!
Samsung Galaxy S4, Huawei Ascend D2, Samsung Galaxy Note 2, LG Optimus G Pro, Salora PowerMaxx & Huawei Ascend Mate are the phones having longest battery life.
As smart phones of this era are too much heavy, there are too many software which are installed in these phones and obviously they required comparatively more power. So, in my views, all phones have almost same battery life.