The price difference is negligible. And those are the two best available for the money he has. The CPU is FX-8320 with 8 GB of 1600MHz RAM. Will probably overclock the CPU in the future but not the GPU. He'll also use only one display.
He plans to do gaming and doesn't plan to upgrade too much in the future - but thinks the 8 cores will be useful with the Xbone and PS4 using 8 cores.
It's close, but I would give it to the 7870. It would probably overclock much further than the 660. More games will be optimised for AMD in the future.
The performance impact of PhysX would probably hurt the 660 too much. Not only that, but you can actually utilise your CPU for PhysX. It's not something that is exclusive to Nvidia. AMD are working on their own version of PhysX using Open CL, I believe.
I've had both 660 and 7870. The 660 runs better with arma (due to physx). But in nearly every game other than one's that utilise physx 7870 will prevail. In BF3 i was getting nearly 10 fps more on the 7870.
Go with the 7870 and overclock it. The cooler will hold up very well.