Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.10.2011
Сообщений: 146
1

Как отсортировать элементы 1 уровня многомерного массива по значениям 2 уровня?

05.01.2015, 23:24. Показов 725. Ответов 3
Метки нет (Все метки)

Доброе время суток. Есть массив фруктов, у каждого элемента есть название и цена.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$arr = array(
    array(
        'name' => 'banana', 
        'price' => '15'
    ), 
    array(
        'name' => 'apple', 
        'price' => '10'
    ), 
    array(
        'name' => 'orange', 
        'price' => '20'
    )
);
Как проще отсортировать все фрукты по цене?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2015, 23:24
Ответы с готовыми решениями:

Как выбрать элемент 1 уровня многомерного массива по значениям 2 уровня?
Доброе время суток. Есть массив фруктов, у каждого элемента есть название и цена. $arr = array( ...

Как найти элемент 1 уровня многомерного массива по значению его элемента 2 уровня?
Есть многомерный массив типа такого: Array ( => Array ( => Алексей ...

Как получить ключи всех элементов определённого уровня ассоциативного многомерного массива?
Например, массив: Array( город1 => Array( склад1 => Array( яблоки => 45; бананы =>...

Написать программу замены элементов списков первого уровня на элементы списка самого низкого уровня в цикл
Пажалуйста помогите с задачкой Пример: (((a)) (b) (((c) e)) (((d)))) -> ((c) (d) (c) (d))

3
16 / 12 / 13
Регистрация: 05.01.2015
Сообщений: 66
05.01.2015, 23:56 2
PHP
1
2
3
4
5
6
7
8
9
10
11
function cmp($a, $b) 
{
    if ($a['price'] == $b['price']) {
        return 0;
    }
    return ($a['price'] < $b['price']) ? -1 : 1;
}
 
usort($arr, "cmp");
 
print_r($arr);
Если нужно в обратном порядке, нужно поменять знак < на знак >
0
1937 / 1764 / 824
Регистрация: 23.01.2014
Сообщений: 6,208
06.01.2015, 00:57 3
Цитата Сообщение от Saneock Посмотреть сообщение
function cmp($a, $b)
{
* * if ($a['price'] == $b['price']) {
* * * * return 0;
* * }
* * return ($a['price'] < $b['price']) ? -1 : 1;
}
usort($arr, "cmp");
print_r($arr);
Проще так:
PHP
1
2
3
4
function cmp($a, $b) 
{
    return $a['price'] > $b['price'];
}
А лучше вообще так:
PHP
1
usort($arr, function($a, $b) {return $a['price'] > $b['price'];});
0
16 / 12 / 13
Регистрация: 05.01.2015
Сообщений: 66
06.01.2015, 01:02 4
ну это я в документации нашёл
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.01.2015, 01:02

Однозначное отделение (классификация) оборудования уровня ядра/аггрегации от уровня доступа
Всем привет. Возник такой вопрос: можно ли по функциям или по железу понять уровень железки...

Перенаправление с домена третьего уровня на домен второго уровня
Здравствуйте. Возможно ли с помощью htaccess перенаправлять адреса от домена третьего уровня, на...

Переместить сайт с домена 3 уровня на 2-го уровня
Сайт с тысячью страниц в индексе за счет естественных ссылок набрал тИЦ 40 и PR4. Можно бы...

Найти элементы второго уровня в документе
Дан XML-документ. Найти элементы второго уровня, имеющие дочерний текстовый узел, и вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.