What is the most memory efficient way to load big arrays into PHP script?
I thought about this again. My comments are still valid, so including it in a php file is the cheapest way to get the array into your system and without a shared memory you will not reduce the total memory usage.

But maybe you can optimize it at an higher level of abstraction. Assuming that you always only need some countries/settings/localization in your loaded page and never all, you could split this array into multiple files.

&lt;?php
...
function countryCodeToName($key)
{
    if (isset($this-&gt;countries[$key])) return $this-&gt;countries[$key];
    $firstCharacter=$key[0]
    include "country_".$firstCharacter.".php"; //similar to your file above
    $this-&gt;countries=$this-&gt;countries + $cty_arr;
    //some handling if still missing 
    //and return ...
}