In general, you want to keep things together that change together. So, if your main data lives in a SQL database, keeping the country data in the database helps avoid craziness like someone changing the PHP lookup array without realizing there's a bunch of data in a SQL database.
It also helps avoid duplication - if you build a second application for your system (e.g. an administration system), you don't end up with 2 copies of the country lookup PHP files. Again, duplication creates the opportunity for bugs, with a developer changing the database and one of the lookup files, but not the other.
All of this is rather defensive - but applications tend to evolve in unexpected ways, and avoiding bugs is usually a good idea.
In my experience, using a join between two tables has almost no measurable performance impact on a well-tuned system with the numbers you mention - did you optimize the SQL before moving the lookup to PHP?