Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка многомерного массива по внутреннему клю 
V
    Опции темы
xarakiry
Дата 29.2.2012, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Всем привет.
Имеется многомерный массив,такого вида 

Array
(
    [standard] => Array
        (
            [1157] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 1
                )

            [1035] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 2
                )

            [1036] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 3
                )

            [1147] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 4
                )

        )

)
Нужно отсортировать его по ключу sequence.
Пишу 
Код

$_SESSION['basket']['standard']['1157']['sequence'] = 7;
array_multisort($_SESSION['basket'], SORT_ASC);

echo '<pre>';
print_r($_SESSION['basket']);
echo '</pre>';


и получаю 

Array
(
    [standard] => Array
        (
            [1157] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 7
                )

            [1035] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 2
                )

            [1036] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 3
                )

            [1147] => Array
                (
                    [count] => 1
                    [size] => 13x18
                    [sequence] => 4
                )

        )

)

Т.е тоже самое только поменялось значение sequence на 7. А необходимо чтобы запись с порядком 7 была последняя.
Прошу подбросить идейку как сделать.
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
$дмитрий
Дата 29.2.2012, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



SORT_ASC замени на SORT_DESC
PM MAIL   Вверх
xarakiry
Дата 29.2.2012, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



Цитата($дмитрий @ 29.2.2012,  11:36)
SORT_ASC замени на SORT_DESC

И что ? тоже самое. Это лишь меняет прямую и обратную сортировку. У меня из примера видно что там совсем не то. Сортировка долна идти только по значению sequence
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
$дмитрий
Дата 29.2.2012, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 17
Всего: 45



Лови
Код

function sortArray($a, $b)
{
    if($a['sequence'] == $b['sequence']){
        return 0;
    }
    if($a['sequence'] < $b['sequence']){
        return -1;
    }
    return 1;
}

$arList['basket']['standard'][1157] = Array('count' => 1, 'size' => '13x18', 'sequence' => 1);
$arList['basket']['standard'][1035] = Array('count' => 3, 'size' => '13x18', 'sequence' => 7);
$arList['basket']['standard'][1036] = Array('count' => 6, 'size' => '13x18', 'sequence' => 4);
$arList['basket']['standard'][1047] = Array('count' => 7, 'size' => '13x18', 'sequence' => 5);

uasort($arList['basket']['standard'], 'sortArray');

?><pre><?
print_r($arList);

PM MAIL   Вверх
xarakiry
Дата 29.2.2012, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 28.5.2008

Репутация: -1
Всего: -1



$дмитрий Большое спасибо. То что надо.
--------------------
Все университеты Азербайджана на students.az
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.