Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

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

Рекомендованные сообщения

04/25/19 18:13 (изменено)

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

 

Что скажите? Спасибо.

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...