TemKa_SD Posted April 25, 2019 Share Posted April 25, 2019 (edited) Здравствуйте, я только учу всё, вот решил потестить in_array(). Задача следующая: мне нужно разделить ключи и значения из формы на два массива, один передается как обычно в $this->save, второй в отдельную функцию. public function formatFormValues( $values ) { isset($values['map_id']) ? $values['map_id'] = $values['map_id']->_data['id'] : NULL; if (isset( $values['mapcfg_name']) AND isset( $values['map_id'] ) ) { $map = \IPS\wc3\Map::load( $values['map_id'] ); $values['map_localpath'] = $map->_data['map_name']; $values['map_path'] = "Maps\\Download\\" . $map->_data['map_name']; $cfg_name = $values['mapcfg_name']; } $settingsKeys = array('map_path', 'map_localpath', 'map_size', 'map_info', 'map_crc', 'map_sha1', 'map_speed', 'map_visibility', 'map_observers', 'map_flags', 'map_filter_maker', 'map_filter_type', 'map_filter_size', 'map_filter_obs', 'map_options', 'map_width', 'map_height', 'map_type', 'map_matchmaking', 'map_matchmakingcategory', 'map_statsw3mmdcategory', 'map_defaulthcl', 'map_defaultplayerscore', 'map_loadingame', 'map_numplayers', 'map_numteams', 'map_slot', 'map_maxslots'); $settingValues = array(); foreach( $values as $k => $v ) { if( $v ) { if( \in_array( $k, $settingsKeys ) ) { $settingValues[$k] = $v; $settingValues['mapcfg_name'] = $cfg_name; unset($settingValues['map_matchmaking']); } else { foreach ($settingsKeys as $key) { unset($values[$key]); } } } } $this->updateAsSettings($settingValues); return $values; } Что скажите? Спасибо. Edited April 25, 2019 by TemKa_SD Link to comment Share on other sites More sharing options...
siv1987 Posted April 25, 2019 Share Posted April 25, 2019 Уныло. Зачем в цикле удалять значения values? Link to comment Share on other sites More sharing options...
TemKa_SD Posted April 26, 2019 Author Share Posted April 26, 2019 Ну да, это я хотел перенести выше, спать пошел вчера уже. Ну да, для вас уныло, для меня - как первые шаги ребенка. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now