使用PHP从Json数组中提取精确值(如MySQL数据库)

another (probably) easy question for you.

As I wrote many times, I'm not a programmer but thanks to you I was able to build an interesting site for my uses.

So again thx.

This is my new problem: I have a site that recover json data from a file and store it locally once a day (this is the code - I post it so it can be useful to anyone):

   // START
   findList();

   function findList() {
      $serverName = strtolower($_POST["Server"]); // GET SERVER FROM FORM POST      
      $localCoutryList = ("json/$serverName/countries.json");  // LOCAL LOCATIONS OF FILE
      $urlCountryList = strtolower("url.from.where.I.get.Json.file.$serverName/countries.json");  // ONLINE LOCATION OF FILE

      if (file_exists($localCoutryList)) {  // FILE EXIST
           $fileLastMod = date("Y/m/d",filemtime($localCoutryList)); // IF FILE LAST MOD = FILE DATE TIME
           $now = date('Y/m/d', time());  // NOW
           if ($now != $fileLastMod) {  // IF NOW != FILE LAST MOD (date)
              createList($serverName,$localCoutryList,$urlCountryList); // GO AND CREATE FILE
           } else { // IF NOW = FILE LAST MOD (date)
              jsonList($serverName,$localCoutryList,$urlCountryList); // CALL JSON DATA FROM FILE 
      }} else {  // FILE DOESN'T EXIST
           createList($serverName,$localCoutryList,$urlCountryList); // CALL CREATE FILE
      }};       

   function createList($serverName,$localCoutryList,$urlCountryList) {      
       file_put_contents($localCountryList, file_get_contents($urlCountryList)); // CREATE FILE 
       jsonList($serverName);  // CALL JSON DATA FROM FILE
   };

   function jsonList($serverName,$localCoutryList,$urlCountryList) { // JSON DATA FROM FILE

        $jsonLoopCountry = file_get_contents($localCoutryList);  // GET CONTENT OF THE LOCAL FILE
        $outLoopCountry = json_decode($jsonLoopCountry, true);   // DECODE JSON FILE 

        $countryList = $outLoopCountry['country'];  // ACCESS TO JSON OBJECT

        foreach ($countryList as $dataCountry) {  // FOR EACH "COUNTRY" IN JSON DECODED OBJECT
           // SET VARS FOR ALL THE COUNTRIES
           $iscountryID = ($dataCountry['id']);  // TEST
           $countryCurrency = ($dataCountry['curr']);  // TEST
           $countryName = ($dataCountry['name']);}  // TEST

           echo "<br>total country list: ".count($countryList); // THIS RETURN TOTAL ELEMENTS IN THE ARRAY

          [...]

The kind of Json data I'm working with is structured as it follows:

   {"country":[{"id":130,"curr":"AFN","name":"Afghanistan"},{"id":55,"curr":"ALL","name":"Albania"},{"id":64,"curr":"DZD","name":"Algeria"},{"id":65,"curr":"AOA","name":"Angola"},{"id":24,"curr":"ARS","name":"Argentina"}...

So I can say that

    $outLoopCountry = json_decode($jsonLoopCountry, true);   // DECODE JSON FILE

creates the JSON ARRAY right? (Because JSON array starts with {"something":[{"..."...) if it was [{"a":"answer","b":"answer",...} ... it would have a been a JSON Object right?

So to access to the array I uses

  $countryList = $outLoopCountry['country'];  // ACCESS TO JSON OBJECT

right?

So I understood that arrays are a fast useful ways to store relational data and access to it right?

So the question is how to make a precise search inside the array, so to make it works like a Query MySQLi, like "SEARCH INSIDE ARRAY WHERE id == 7" and have as a result "== ITALY" (ex.).

The way exist for sure, but with whole exmples I found on the net, I was able to fix one to make it works.

Thx again.

Alberto