- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Мучаюсь такой задачкой:
Получаем данные и помещаем их в массив.
$array[] = array ('value' => $item->value, '$name' => $item->name, 'city' => $item->city);
}
Далее нужно выводить записи отсортированные по полю value (т.е. как ORDER BY в MySQL).
Набрел на такую штуку, как array_multisort, делаю как в примере по ссылке, но нифига не хочет сортироваться.
$value[$key] = $row['value'];
$name[$key] = $row['name];
$city[$key] = $row['city'];
}
array_multisort($value, SORT_ASC, $name, SORT_ASC, $array);
Может кто-то знающий подскажет решение сего вопроса?
Как все же вывести отсортированный массив?
Вроде правильно всё.. а что в массивах лежит?
Как все же вывести отсортированный массив?
print_r ($array); // что выведет после сортировки?
Получаем данные и помещаем их в массив.
А чего сразу не в массив?
array_multisort не отсортирует Вам массив снаружи. Она сортирует каждый массив отдельно внутри многомерного.
Возможны варианты:
1. Если $item->value уникально - поместите его в ключ:
2. Откуда берется $data? Может легче там отсортировать где берется? В идеале сортировать на уровне получения из базы данных. Сортировка - прерогатива БД.
3. Перебирать всё это дело и сортировать. Типа:
Вроде правильно всё.. а что в массивах лежит?
Да я все с тем же мучаюсь:
<rate>
<currency>RUB</currency>
<value>6.2</value>
<base-coefficient>REFINANCING_RATE_CB_RF</base-coefficient>
<min-period interval="DAY">730</min-period>
<max-period interval="DAY">730</max-period>
<min-sum currency="RUB">5000000</min-sum>
<max-sum currency="RUB">19999999</max-sum>
</rate>
</rates>
Вот в массив и парсятся: $xml->rate->value и т.д.
print_r ($array); // что выведет после сортировки?
В том порядке что и на входе.
А чего сразу не в массив?
Как умею, а умею плохо. :)
---------- Добавлено 26.10.2012 в 22:16 ----------
1. Если $item->value уникально - поместите его в ключ:
Не факт, что уникально. Скорее не уникально.
3. Перебирать всё это дело и сортировать. Типа
Спасибо. Попробую не досуге.
php < 5.3
uasort( $array, create_function('$a, $b', 'return $a["value"] > $b["value"] ? 1 : -1;') );
php >= 5.3
uasort( $array, function( $a, $b ){return $a["value"] > $b["value"] ? 1 : -1;});
если данные не уникальны, делаем так:
а дальше просто учитывать при выводе, что у нас массив, и обрабатывать его в foreach
array_multisort всё чётко мультисортирует, только надо правильно его использовать.
Если у Вас такой массив:
то сортировать надо примерно так:
Естественно, порядок столбцов и константы сортировки выбирайте сами.
P.S. bb-код php как-то криво на этом форуме работает, у bay_ebook вон покорябал скриптик, у меня тоже хотел.