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

Помогите записать правильно в массив

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

03/27/21 13:19 (изменено)

Здравствуйте. Мне необходимо получить историю изменения группы пользователя в IPS, на сколько я понял, эта информация хранится только в core_member_history.

		$dates = [];
		$date = $old = $new = null;

		foreach( \IPS\Db::i()->select( '*', 'core_member_history', array( 'log_app=? and log_member=? and log_type=?', 'core', 6, 'group' ) ) as $row  )
		{
			$data = json_decode( $row['log_data'], TRUE );

			if ($new == $data['old'] && $date != $finish = $row['log_date']) {
				$dates[] = ['start' => $date, 'finish' => $finish];
			}

			$date = $row['log_date'];
			$old = $data['old'];
			$new = $data['new'];
		}

В моем примере я должен получить вот такой массив в итоге:

Array
(
    [0] => Array
        (
            [start] => 1597760738.50
            [finish] => 1601474591.76
        )

    [1] => Array
        (
            [start] => 1608299241.36
            [finish] => null
        )

)

а получаю вот такой:

Array
(
    [0] => Array
        (
            [start] => 1597760738.50
            [finish] => 1601474591.76
        )

    [1] => Array
        (
            [start] => 1601474591.76
            [finish] => 1608299241.36
        )

)

Т.е 

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

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


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

Какое-то запудренное условие, хотя задача вроде элементарная

		$dates = [];
		$finish = null;

		foreach( \IPS\Db::i()->select( '*', 'core_member_history', array( 'log_app=? and log_member=? and log_type=?', 'core', 6, 'group' ) ) as $row  )
		{
			$data = json_decode( $row['log_data'], TRUE );

			$dates[] = [
				'start' => $data['log_date'],
				'finish' => $finish
			];

			$finish = $row['log_date'];
		}

 

  • Upvote 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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