It will be easy if you already program in any language.
I'm a huge fan of frameworks and PHP code generators, I made a few courses of PHP and then fall in love for those generators, bascially most of my learning into PHP was on those generators and I fell that I dont have many gaps in my learning curve, OK, maybe there is some very basic stuff that I may dont know how to do but in other way I focused the learning in the real advanced things, was learning what really matters.
But you can never forget to keep studing, that's my tip. Hope that this text helped you a little bit.
I learned a lot from oriely, and then At 16 yo, I moved on to tackle the smarty. There was a brief period were smarty was not updated anymore, it was struck of a luck I found DWOO templating system. After learning the DWOO, I found out that smarty is being updated and maintained once again, I went back to using smarty.
Now, at age 19 I am responsible in developing an open source youtube clone script, and many scrapers for adult and non-adults sites. Am I able to do all these things without the online learning environment? Probably not. In fact, this is the only time I finally had the time to join this community, even though I was already browsing questions and answers here for a long long time. I also learned a lot here.
What is really important I think is on how we are going to write the php application. I have seen some people who wrote their program to the extreme. Using many fancy functions and classes doing a much simpler stuffs that can be achieved by fewer lines of codes.
After learning and mastering the basics, move on to something advance like object oriented programming in php. All these can be achieved through online learning.
I hope this helps, please pardon my long response. I must have a little too much coffee.
I found when I started it was very hard. That was no suprise because after I became more experienced I discovered my webhost didn't even support php so it just displayed the php code as if it were html. But things became a lot simpler when I learnt the correct techniques and if I were to start all over again then it would be a lot easier. So I shall share my advice with you.
Rule number 1 - don't use api's or apps. They are nastie little buggers that confuse the new php learners as their syntax can confuse even the most experienced users. A real programmer can write their own api's and apps.
Rule number 2 - do not use oop/object oriented programming until you know a lot about php. Then you will be ready for oop. Otherwise you will get confused on day one.
Rule number 3 - start with something simple like how to make a comment box and save the comments into a text file. Then you can work on styling the comments with regex and displaying it in php. And later on you can get more technical by inserting the comments into a database.
Rule number 4 - do not get a webhost until you are fluent with php or that is if you are using the webhost for a php website. Instead test the scripts on an xampp localhost server so if you crash the localhost server you don't crash your webhost. That way you don't pay $23,000 in legal costs.
If you can obide those rules you are doing pretty good. :)