I think that everybody should learn at least one of
1 -- An imperative language (PHP, C++, Java, etc.)
2 -- A functional language (Haskell, Elm, many languages to an extent)
3 -- A Forth (a "stack-based" language)
4 -- A declarative language (Yacc, Prolog, Make, C++'s metacode)
5 -- A Lisp (Common Lisp, Clojure, Scheme)
If people ever tell you "all programming languages are the same", they're lying.
I don't think the order matters. Each language will force you to change the way you think, so it will be quite similar to learning your first language again, whereas you can probably read most imperative code with little trouble based on just your PHP experience.
Each category of language solves problems in different ways. Knowing at least one of each is beneficial.