I know php and some python, but not much c. Where should I start to learn iphone game development? Is there some recommended books/tutorials for beginners? I'm looking at using cocos2d but I'm open to anything that isn't too limited.
I also just recently started developing for iOS. I found the documentation over at cocos2d-iphone.org quite helpful, but sadly it isn't very in-depth. That's why I also bought the "Learn iPhone and iPad Cocos2D Game Development Book" (written by Steffen Itterheim who is also an active community member here on gamedev SE).
I've got some C++ experience, so the whole memory-management stuff wasn't totally new to me (well, actually everybody should know about that stuff, even if you don't have to manage things yourself). Since Objective-C doesn't come with a garbage-collector (at least not when you develop for iOS), you should also read the memory-management guide. XCode also comes with a handy tool called "Leaks" which allows you to profile memory-usage and detect leaks. This makes spotting memory-leaks much easier and you should definitely run your app through it (make sure to always run on the device, since the simulator apparently produces leaks where there aren't any).
Umm, I went a bit off-topic in the last paragraph I guess, but it's always good to know about this stuff beforehand :-)
I've been very favorably impressed by O'Reilly's iPhone Game Development. For my taste it's a bit deep in the mindset where "game" means "screen-oriented pixels-moving-around exercise", but since that mindset is dominant in the industry that's not too surprising. It'll definitely get you a good start, in any event.
try this as a starter to learn or refresh your language skills:
iPhone game development is incredibly fast using Cocos2d.
Since you already know some programming, I'd recommend you to first take a look at the basic concepts in Cocoa development here.
Now that you know how Objective-C thinks, you may want to pay a visit to Raywenderlich's blog. Many of his posts are about Cocos2d, like this one.
It is not necessary you understand the whole tutorial. You simply copy and paste the code he provides you and take your time to see what it does.
Cocos2d has all kinds of useful tools for making development fast. It has great iPhone retina display support, great bitmap font labels performance, process lots of sprites with ease, create tilemaps, schedule functions, stack scenes, create menu and buttons, box2d and chipmunk physic engine support, export to Mac feature, particle effects, great sound engine and a nice array of "actions" you can apply to your objects, like move, jump, rotate, fade etc.
Since Cocos2d is just a framework on Objective-C, you have full freedom to do lots of things game engines usually lack. You can quickly implement leaderboards and achievements for your games with OpenFeint, for example. You can use iAds too.
This is nice to read as well.
So here's my opinion: Cocos2d has potential and is worth giving it a go.
I'm reading "Beginning iOS Game Development" by Patrick Alessi it's not a bad book, I actually knew how to program in Objective-C before I picked it up, because I'm old.