I have a multidimensional countries array containing :
- code -> Country Code
- name - > Country Name
- flag -> CSS sprite flag class
The needle is a countryCode and haystack the $countriesArray. How would you search for a string(countryCode) and return the corresponding name and flag. Is this array badly constructed?.
Array
$CountriesArray = array(array( code => "bj", 
                               name => "Benin",
                               flag => "flag flag-bj"
                            ),
                        array( code => "bw", 
                               name => "Botswana",
                               flag => "flag flag-bw"
                            ),
                        array( code => "cg", 
                               name => "Congo",
                               flag => "flag flag-cg"
                             )
  ect....
  );
ANSWER -Array format updated where the key is the countryCode
$CountriesArray = array(  array( bj => array( name=> "Benin", flag => "flag flag-bj" )), 
                          array( bw => array( name=> "Botswana", flag => "flag flag-bw" )),
                          array( cg => array( name=> "Congo", flag => "flag flag-cg" ))
                   );
Search array where $n = needle
function multiDimenArraySearch($n,$h){
foreach($h as $key => $value){
if($key == $n) return $value;
  }
}
$n = "bj";
$search = multiDimenArraySearch($n,$CountriesArray);
$name = $search[$n]["name"]; //outputs name
$flag = $search[$n]["flag"]; // outputs flag class
 
     
    