PHP

Примеры по работе с массивами

Есть массив. Нужно зная значение, например "number_1", перебрать массив "city_list", включая все массивы внутри него, и при обнаружении значения "number_1" вернуть результатом переменную массива. То есть, в данном примере при обнаружении значения "number_1" вернуть в результате переменную массива, что в примере равно "1", но не ключ этого значения, коим является "city_1". Именно, надо вернуть ключ всего массива, в котором обнаружено указанное значение.
<?php
$region_center_city =  array (  
   "caption_city_list_0" => "1",  
   "caption_city_list_1" => "2",  
   "caption_city_list_2" => "3",  
   0 =>  array (  
              "number_region_list" => 0,  
              "text_region_list" => "name",  
              "city_list" =>  array (  
                                   0 =>  array (  
                                             "city_1" => 0,  
                                             "city_2" => "name",  
                                             "city_3" => "number_0",  
                                             "city_N" => "N"  
                                             ),  
                                   1 =>  array (  
                                              "city_1" => 1,  
                                              "city_2" => "name",  
                                              "city_3" => "number_1",  
                                              "city_N " => "N"  
                                             ),  
                                   2 =>  array (  
                                              "city_1" => 2,  
                                              "city_2" => "name",  
                                              "city_3" => "number_2",  
                                              "city_N" => "N"  
                                             ),  
                                   3 =>  array (  
                                              "city_1" => 3,  
                                              "city_2" => "name",  
                                              "city_3" => "number_3",  
                                              "city_N" => "N"  
                                             ),  
                                   4 =>  array (  
                                              "city_1" => 4,  
                                              "city_2" => "name",  
                                              "city_3" => "number_4",  
                                              "city_N" => "N"  
                                             )  
                                 )  
           )  
); 
 
  
function  _Search_key($search_point, $array){ 
   if  ( !empty ($array)){ 
     if (is_array($array)){ 
       while (list($key, $val) =  each  ($array)){ 
           if  ( !empty ($val)){ 
              if (is_array($val)){ 
                   while (list($k, $v) =  each  ($val)){ 
                     if ($search_point===$v){  
                      return $key;  
                     } 
                  } 
              } 
           }  
        } 
     }  
  } 
 return false; 
} 
 
$array = $region_center_city[0]["city_list"]; 
$search_point = "number_1"; 
 
$key = _Search_key($search_point, $array);  
if (! empty ($key)){  print  "Значению '".$search_point."' 
соответствует ключ '".$key."' из массива 
\$region_center_city[0][city_list]" ; }  
else {  print  "Ничего не нашли.";  } 
 
?>
Теги:
массив
Добавлено: 02 Апреля 2018 21:24:53 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...