Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Преобразовать в ассоц. массив выборку из БД / 3 сообщений из 3, страница 1 из 1
29.03.2012, 03:16:36
    #37728716
LaToya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать в ассоц. массив выборку из БД
Здравствуйте, товарищи!

Нужна собсна помощь советом. Есть массив $rowset, полученный при выборке из БД:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Array
(
    [0] => Array
        (
            [id] => 64
            [name] => Боруссия
            [city] => Мёнхенгладбах
            [country] => Германия
        )

    [1] => Array
        (
            [id] => 182
            [name] => Спартак
            [city] => Нальчик
            [country] => Россия
        )

    [2] => Array
        (
            [id] => 42
            [name] => Днепр
            [city] => Днепропетровск
            [country] => Украина
        )

)


Хочу получить:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Array
(
    [64] => Array
        (
            [name] => Боруссия
            [city] => Мёнхенгладбах
            [country] => Германия
        )

    [182] => Array
        (
            [name] => Спартак
            [city] => Нальчик
            [country] => Россия
        )

    [42] => Array
        (
            [name] => Днепр
            [city] => Днепропетровск
            [country] => Украина
        )

)


Написал в лоб:
Код: php
1.
2.
foreach ($rowset as $row)
    $new_array[$row['id']] = array_slice($row, 1);


Можно ли как-то сделать поизящнее (с использованием функций для работы с массивами)? Смущает например то, что в array_slice мы отрезаем 1-й элемент, а ведь id может быть и не первым в выборке.
...
Рейтинг: 0 / 0
29.03.2012, 10:33:31
    #37728974
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать в ассоц. массив выборку из БД
LaToya,

Код: php
1.
2.
3.
4.
5.
foreach ($rowset as $row) {
    $id = $row['id'];
    unset($row['id']);
    $new_array[$id] = $row;
}


маловероятно что вы что то можете здесь заменить стандартными функциями пхп
...
Рейтинг: 0 / 0
29.03.2012, 11:01:24
    #37729039
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразовать в ассоц. массив выборку из БД
LaToya,

а зачем вообще удалять unset($row['id']); ?
ну и пусть дальше болтается в самих данных.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Преобразовать в ассоц. массив выборку из БД / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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