Spero che questa sia una risposta coerente ...
Non dovresti incontrare troppe difficoltà nell'apprendimento di Java se hai già una solida base sugli aspetti fondamentali della programmazione. Ci sono alcune idiosincrasie di PHP, tuttavia, che devi essere sicuro di guardare oltre quando ti sposti in un'altra lingua.
Java è profondamente orientato agli oggetti e la "cultura" di sviluppo Java si abbina profondamente alle metodologie OO. L'OO di PHP è stato aggiunto a un secondo momento e sta solo iniziando a maturare pienamente. La "cultura" del PHP a volte tende a preoccuparsi meno delle profonde gerarchie OO perché il linguaggio non lo incoraggia. Il codice PHP tende ad essere un mix incoerente di codice procedurale e OO, ovunque i due siano i più adatti. (Questa non è una critica, PHP è la mia lingua principale anche in questi giorni)
Il mio suggerimento sarebbe questo: avvicinati a Java come se stessimo imparando a programmare di nuovo, anche se comprendi già le strutture e gli atomi di controllo del flusso importanti e fondamentali. Non tentare di scrivere codice Java come se fosse un'applicazione web PHP, in cui il linguaggio favorisce un flusso di programmi lineare e procedurale. Usa il tempo che trascorri nell'apprendimento di Java per sviluppare un strong senso della gerarchia OO e dell'architettura applicativa che puoi impiegare per anni a programmare PHP senza doverci preoccupare troppo.