Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2011, 13:12   #1
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию Сортировка массива во возрастанию.

Есть массив:

PHP код:
Array ( 
[
0] => Array ( [count] => [name] => Игорь Бражниченко [photo] => http://cs9618.vkontakte.ru/u49041005/e_725b2fe8.jpg ) 

[1] => Array ( [count] => [name] => Олег Бражниченко [photo] => http://cs4363.vkontakte.ru/u17649567/e_1717412a.jpg ) 

Как отсортировать его, что бы было во возрастанию [count].

Делаю ТОП, беру записи из базы, складываю в массив.
PHP код:
$arr[]['count']
$arr[]['name']
$arr[]['photo'
Как отсортировать возрастанию числа count?
Abuhamed вне форума Ответить с цитированием
Старый 01.12.2011, 13:21   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Сортировать прямо в sql запросе >> ORDER BY `count`
Cronos20 вне форума Ответить с цитированием
Старый 01.12.2011, 20:38   #3
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

в базе отсутствует count.

id to_uid from_uid prise_id open
28 49041005 17649567 1 1

count берется по количеству open='1';
Abuhamed вне форума Ответить с цитированием
Старый 01.12.2011, 21:30   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

usort() - пример 2.
Andkorol вне форума Ответить с цитированием
Старый 01.12.2011, 22:04   #5
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Цитата:
Сообщение от Abuhamed Посмотреть сообщение
в базе отсутствует count.

id to_uid from_uid prise_id open
28 49041005 17649567 1 1

count берется по количеству open='1';
А не сделать алиас ?
Select `id`, `open` as `count` .....
Cronos20 вне форума Ответить с цитированием
Старый 01.12.2011, 22:36   #6
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Оно берет mysql_num_rows("SELECT * FROM table WHERE open='1';");

Т.е. 2 запроса.

Помоги пожалуйста отсортировать массив, срочно нужно, сроки горят..
Abuhamed вне форума Ответить с цитированием
Старый 01.12.2011, 22:48   #7
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

PHP код:
<?php
function cmp($a$b
{
    return 
strcmp($a["count"], $b["count"]);
}
$arr = array(
        array(
            
"count"=>"8",
        ),
        array(
            
"count"=>"12",
        ),
        array(
            
"count"=>"4",
        ),
        array(
            
"count"=>"7",
        ),
        array(
            
"count"=>"2",
        ),
        array(
            
"count"=>"1",
        )
);
print_r($arr);
echo 
"<br>";
usort($arr,cmp);
print_r($arr);
?>
Не работает.

Первый print_r - до сортировки
PHP код:
Array ( [0] => Array ( [count] => ) [1] => Array ( [count] => 12 ) [2] => Array ( [count] => ) [3] => Array ( [count] => ) [4] => Array ( [count] => ) [5] => Array ( [count] => ) ) 
Второй print_r - после сортировки
PHP код:
Array ( [0] => Array ( [count] => ) [1] => Array ( [count] => 12 ) [2] => Array ( [count] => ) [3] => Array ( [count] => ) [4] => Array ( [count] => ) [5] => Array ( [count] => ) ) 
Abuhamed вне форума Ответить с цитированием
Старый 01.12.2011, 23:06   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Abuhamed Посмотреть сообщение
Не работает.
Работает, просто не так, как вам нужно...
Это ж просто пример реализации.

Замените функцию сравнения на "натуральное сравнение" - и будет вам радость:
PHP код:
return strnatcmp($a["count"], $b["count"]); 
И имя функции заключайте в кавычки:
Цитата:
usort($arr,"cmp");
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка по убыванию-возрастанию Gaudi Microsoft Office Excel 4 29.09.2011 15:08
Сортировка слов по возрастанию Студент1000 Microsoft Office Word 2 26.05.2011 00:57
Сортировка строк по возрастанию westlinex Паскаль, Turbo Pascal, PascalABC.NET 1 31.01.2011 01:57
Сортировка по возрастанию в Stringgride Китти Помощь студентам 2 22.12.2009 23:42
Сортировка одномерного массива введенного с клавиатуры по возрастанию sande Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 18.01.2009 20:31