Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
TemKa_SD

Посмотрите код

Recommended Posts

Здравствуйте, я только учу всё, вот решил потестить 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 by TemKa_SD

Share this post


Link to post
Share on other sites

Уныло. Зачем в цикле удалять значения values?

Share this post


Link to post
Share on other sites

Ну да, это я хотел перенести выше, спать пошел вчера уже. Ну да, для вас уныло, для меня - как первые шаги ребенка.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...