What is the most memory efficient way to load big arrays into PHP script? I have a few big arrays stored in separate files that are included into PHP as and when they are required:

Array File:

&lt;?php
 $cty_arr["af"] = "Afghanistan";
 $cty_arr["ax"] = "Åland Islands";
 $cty_arr["al"] = "Albania";
 $cty_arr["dz"] = "Algeria";
 $cty_arr["as"] = "American Samoa";
...
?&gt;


Main Script:

&lt;?php
 require("/var/www/include/array_file.php");
...
?&gt;


I am not very sure how PHP utilizes memory, but I have this thought that some RAM is allocated to store the big array for each instance that the script is run. Since these arrays are static, could there be a better way of loading such arrays to achieve some memory savings?
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 ...
}