Выборка из массива

Des

Новичок
Выборка из массива

Никак не соображу.
Есть многомерный массив.

1, "Маша", 1, "Вася"
2, "Саша", 1, "Вася"
1, "Маша", 2, "Петя"
3, "Рая", 2, "Петя"
2, "Саша", 1, "Вася"
2, "Саша", 3, "Ануфрий"

Мне нужно, чтобы в итоге был массив

3, "Ануфрий"
1, "Вася"
2, "Петя"

Подскажите, в каком направлении рыть.
 

Des

Новичок
Спасибо, но я уже сделала группировку.

Вопрос изменился.

Как отсортировать 2-мерный массив по второму столбцу (которое "Ануфрий")?

Попробовала:
$os=array_multisort($os[1], SORT_ASC, SORT_STRING);

Что-то не работает...
 

Des

Новичок
в запросе не удобно, он сам в цикле формируется, я уже пробовала. usort - сейчас посмотрю
 

Des

Новичок
смотри.

вот как обстоит дело.

есть список категорий.
1. выбираем в цикле товары в каждой категории и пихаем их в массив
2. выбирая товары, мы заодно выбираем их производителей.
3. в итоге получаем массив товаров и их производителей.

Вопрос: как же в запросе можно отсортировать производителей по алфавиту?

Поэтому я снова в цикле и формирую отдельный массив уже производителей, отсортированных как мне надо.

Ну почему нельзя с массивами работать с пом. sql? Ну это так я...

Может как-то можно обойти ситуацию?
А выбирать производителей из базы отдельным запросом что-то не хочется.
 

zerkms

TDD infected
Команда форума
Des
всю информацию которая тебе нужна сразу в нужном виде можно и нужно получить с помощью запроса
расскажи подробнее про таблицы ;)
 

Des

Новичок
все просто (лишние поля приводить не буду)

категории - caterory(id I, name C(254),parent I)
продукты - products (id I, name C(254),pro I,id_cat I)
производители - proiz (id I, name C(254))

соответственно:
products.pro=proiz.id
products.id_cat=caterory.id
caterory.parent - id родителя
 

zerkms

TDD infected
Команда форума
[sql]
SELECT * FROM `category` `c`
INNER JOIN `products` `p` ON `p`.`id_cat` = `c`.`id`
INNER JOIN `proiz` `pr` ON `pr`.`id` = `p`.`pro`
ORDER BY `pr`.`name`
WHERE `c`.`id` IN (1, 2, 3)
[/sql]

м? ;)
 

Des

Новичок
если бы было все так просто :)
ты ведь выбираешь тут просто всех производителей.
а представь, что каталог 5-уровневый.

Я захожу в категорию торговые автоматы и у меня должны вываливаться все производители в алфавитном порядке всех товаров, входящих во все подкатегории торговых автоматов.

То есть, я должна сначала выбрать все категории (рекурсия), потом в
цикле по каждой категории можно выполнить твой запрос. Правильно?
В итоге мы опять приходим к большому неотсортированному массиву.....

-~{}~ 16.03.07 15:21:

посмотрела usort, чего-то не сильно поняла

Возвращаясь к самому первому сообщению:

usort($mas[чего тут?],'функция');
и с функцией не поняла.

может кто приведет пример из жизни, а не из учебника?
 

WP

^_^
[m]usort[/m].

И массив принято показывать var_dump'ом или лучше var_export'ом.
 

Des

Новичок
Ура!!! Спасибо, с usort() все оказалось просто.

zerkms, тема открыта
 
Сверху