/** * 获取城市据点信息 */ public function get_city_info($city_id, $field = null) { if (is_array($city_id)) { $cache = array(); $data = array(); foreach ($city_id as $key => $val) { if (isset($this->city_configs[$val])) { $cache[$val] = $this->city_configs[$val]; unset($city_id[$key]); } } if (!empty($city_id)) { $sql = "select * from city where city_id in (#city_id#)"; $data = $this->get_list($sql, 'city_id', $city_id); foreach ($data as $key => $val) { if (count($this->city_configs) > $this->size) { Com_Array::shift($this->city_configs); } $this->city_configs[$key] = $val; } } foreach ($cache as $key => $val) { $data[$key] = $val; } return $data; } $data = array(); $city_id = intval($city_id); if ($city_id < 1) { return array(); } if (!isset($this->city_configs[$city_id])) { $cache_key = $this->get_cache_key(array('city_id' => $city_id)); $sql = "select * from city where city_id='{$city_id}'"; $data = $this->select_one($sql, $cache_key); if (empty($data)) { return array(); } if (count($this->city_configs) > $this->size) { Com_Array::shift($this->city_configs); } $this->city_configs[$city_id] = $data; } else { $data = $this->city_configs[$city_id]; } return Com_Array::get_arr_field($data, $field); }