Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: встречная сортировка двухмерного массива
 
 автор: vadimka   (13.09.2012 в 17:57)   письмо автору
 
 

Здравствуйте!
Помогите содать алгоритм:)
есть данные:
2, 8
3, 6
3, 5
5, 4
они должны быть отсортированы по нарастанию(первый столбик), если первое поле совпадает у нескольких (в примере 3,3) то сортировка по второму полю - у кого больше
это без базы данных!

  Ответить  
 
 автор: confirm   (13.09.2012 в 18:26)   письмо автору
 
   для: vadimka   (13.09.2012 в 17:57)
 

В базе эти данные вот так и хранятся, как строки показанные здесь, или это числа из двух полей таблицы?

  Ответить  
 
 автор: vadimka   (13.09.2012 в 18:33)   письмо автору
 
   для: confirm   (13.09.2012 в 18:26)
 

извините - это результат, т.е. сначала учитывается первое поле при сортировки столбцов, если совпадает значение, то сравнивуются значения второго поля...
т.е первое поле по нарастанию, а второе - наоборот

  Ответить  
 
 автор: confirm   (13.09.2012 в 18:52)   письмо автору
 
   для: vadimka   (13.09.2012 в 18:33)
 

Если это данные из двух полей таблицы, то кто их так отсортировал, совсем не так как надо?
Пусть первая колонка, это поле а таблицы, вторая колонка поле b, то:
<?
$q 
mysql_query("SELECT * FROM table ORDER BY a, b");
while(
$r mysql_fetch_row($q)) echo implode(', ',$r).'<br>';

И сразу получите так как надо.

  Ответить  
 
 автор: vadimka   (13.09.2012 в 18:57)   письмо автору
 
   для: confirm   (13.09.2012 в 18:52)
 

без базы данных!!!!

  Ответить  
 
 автор: confirm   (13.09.2012 в 19:06)   письмо автору
 
   для: vadimka   (13.09.2012 в 18:57)
 

Что значит без базы данных, у вас ее нет? Где и как тогда содержаться эти данные?

  Ответить  
 
 автор: vadimka   (13.09.2012 в 19:08)   письмо автору
 
   для: confirm   (13.09.2012 в 19:06)
 

наверное массив, я даже не знаю как правильно хранить данные(двухмерный массив?) и сортировать...

  Ответить  
 
 автор: confirm   (13.09.2012 в 19:32)   письмо автору
 
   для: vadimka   (13.09.2012 в 19:08)
 

Вы сперва определитесь где вы их содержите, если базу не используете. А то задаете вопрос, а не можете даже ответить где, в чем они у вас.
Кстати, почему без базы, нет доступа на хосте к ней?

  Ответить  
 
 автор: vadimka   (14.09.2012 в 10:56)   письмо автору
 
   для: confirm   (13.09.2012 в 19:32)
 

я не знаю как делать, без базы, таково условие:) но это для работы, не учеба! массив, но какой?

  Ответить  
 
 автор: confirm   (14.09.2012 в 11:27)   письмо автору
 
   для: vadimka   (14.09.2012 в 10:56)
 

Само понятие массив, еще не означает, что его данные отсортированные, и хранение связанных данных не означает, что это обязательно один массив. Но все-таки связанные данные лучше хранить одним массивом, то есть для ваших, это так:
<?
$arr 
= array(
  array(
28),
  array(
36),
  array(
35),
  array(
54)
);
Сортировать такие массивы можно функцией array_multisort(), а также функциями сортировки использующие пользовательские функции сравнения, это uasort(), uksort(), usort().

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования