powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Заполнение по столбцам
2 сообщений из 2, страница 1 из 1
Заполнение по столбцам
    #37762944
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый раз как вижу эту задачу, пытаюсь найти более простой способ ее решения.
Есть данные, они заполняются построчно, нужно сделать так, чтобы в итоге данные были заполнены "по столбцам", по сути - транспонировать данные. Пытался сделать это еще на стороне СУБД, не получилось, последнее решение выглядит так:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    public static function transposition(array $array, $width = 4)
    {
        $prep = array();
        $maxCount = ceil(count($array) / $width);
        for($x = 0; $x < $width; $x++){
            for($y = 0; $y < $maxCount; $y++) {
                $val = array_shift($array);
                $prep[$y * $maxCount + $x] = $val? $val : false;
            }
        }
        ksort($prep);
        return $prep;
    }



Какие мысли?
...
Рейтинг: 0 / 0
Заполнение по столбцам
    #37763018
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соврал немножко в коде:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    public static function transposition(array $array, $width = 4)
    {
        $prep = array();
        $maxCount = ceil(count($array) / $width);
        for($x = 0; $x < $width; $x++){
            for($y = 0; $y < $maxCount; $y++) {
                $val = array_shift($array);
                $prep[$y * $width + $x] = $val? $val : false;
            }
        }
        ksort($prep);
        return $prep;
    }
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Заполнение по столбцам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]