Learning PHP will be different for different people, depending on what method is easiest and most practical for THEM. I agree that online tutorials and actually WRITING/MODIFYING code yourself is the best way to learn.
That said, make sure you have a local testing environment where you can write/test your scripts. (see below)
Books are valuable and have their time and place, however, and are a great way to augment online tutorials and code examples. If YOU learn best with books, I suggest gettting one or two of them.
The important thing you will want to keep in mind is the date the source information was written and for what versions of PHP. For example, code written for pre-PHP 4 may be interesting to read, but most coding uses slightly different syntax and methods now.
No matter the source, book or online tutorial, make sure the code examples are for version PHP4 at least.
To set up a testing server, you can use your own computer, and use http://localhost as domain and testing environment.
TO do so, an easy way to go about this is downloading something like the WAMP server for PCs: http://www.wampserver.com/en/
OR, the MAMP server for the Mac: http://www.mamp.info/