There are all sorts of tools available; which one(s) will be right for you depends on what you are looking for.
The problem with a REPL is that you can only do a handful of lines at a time before you lose the ability to see what's happened before, and all of your code goes away between sessions (you can't really save your work without copying/pasting into a text editor). It's not easy to work with databases or external resources, etc., and all you get is the text output of your code, so you can't easily see what it looks like as a web page. Oh, and since you're running on someone else's web server, there are a lot of functions/commands that won't be available to you.
The next step up would be to install a web server environment with PHP and a database on your own machine. Two of the popular ones are WAMP Server (Windows only) and XAMPP. WAMP Server is easier to set up (it's just a one-click install); XAMPP has more features (like Perl), but may require a bit more knowledge to configure. In either case, you can simply create PHP pages in your text editor of choice, save them to the WWW folder in the web server directory the program creates for you, and open those pages in your browser, refreshing when you save changes to the page.
You can combine a local web server with a PHP IDE (Integrated Development Environment). That will consist of a "smart" code editor, one that does syntax highlighting and can give you help/hints about the functions and objects you are using, point out your mistakes as you make them, and usually allows you to run and debug your code. The only PHP IDE I've tried that isn't annoyingly slow/sluggish and has all of the features a good IDE should have is JetBrains PHPStorm Unfortunately, it's not free (in either sense, gratis or libre). There is also NetBeans and a whole host of Eclipse-based IDEs, including Dev-PHP, Zend Studio and Aptana Studio. It is really easy to get overwhelmed by an IDE though, especially as a beginner. I'd stick to just a server, text editor and browser(s) to begin with.
Finally, you can just get a web hosting account and use a directory in that account as your playroom. (You usually have to have a proper web site running somewhere on the account, but you're also usually allowed to have development files.) That will allow you to test code running under the actual security settings/restrictions your host is using, and use the same databases and permissions, etc. I wouldn't suggest that until you have a few of the basics under control -- your host won't like it much if you create infinite loops and so on, or crash the server altogether.
I have been designing websites for the last 12 years and have tried many editors, designers etc. For the simple to the most sophisticated coder I have always been partial to Adobe Dreamweaver. The latest version is available on Adobes official website at http://www.adobe.com.
I've found Dreamweaver to be useful from a design standpoint due to it's ability to nicely and easily edit CSS properties (even moreso now with the latest version in Creative Cloud), but as far as general editing goes I personally prefer the DevSense PHP Tools extension for Visual Studio (neither are free, since the free "Express" version of Visual Studio doesn't support extensions and the free version of the extension isn't much better than a simple text editor like Notepad++ while the professional version integrates beautifully with the xdebug PHP extension to provide breakpoints for easy debugging and gives very good Intellisense).
My recommendation for beginners is mostly a repeat of essellar's. I got started via XAMPP installed on my localhost and using Notepad++ to give myself syntax highlighting for PHP files without any of the advanced IDE features. I would then see what errors got spit out at me when I ran the scripts, and inserted echo/var_dump statements at various points to debug. If you already have an IDE you're familiar with using (perhaps with a different language, like Java or C#), see if a free PHP plugin for it exists and give that a whirl so you have a mostly familiar dev environment while you learn PHP.
And finally, don't discount the documentation at php.net -- I use it myself even to this day to look up the exact syntax for a function and a detailed description of how the parameters interact (and sometimes the user comments contain "gotchas" that you need to be aware of).