Сортировка массива по ключу php

159
22 июня 2019, 14:10

Ребят, всем привет. Интересует следующий вопрос. Есть массив:

`$array = [
  'title' => ['Libertines', 'root/rock/index.php', 1],  
  'title1' => ['Britnie', 'root/pop/index.php', 3],
  'title2' => ['Marley', 'root/reaggie/index.php', 4],
  'title4' => ['Wu-tang', 'root/rap/index.php', 2],
];'

И функция, которая выводит его как ссылки

function menu ($array) { 
 foreach ($array as $titles) { 
    echo '<a href="'.$k[1].'">'.$k[0].'</a>' . " ";};
};

Я не понимаю как сделать так, чтобы он сортировался по тому порядку, которые указаны в массиве, в качестве 3-го элемента, т.е. должно выглядеть: Libertines, Britnie, Marley, Wu-tang. Подскажите, пожалуйста с решением?

Answer 1

Погуглил, если правильно вас понял, то это должно подойти

$array = [
    'title' => ['Libertines', 'root/rock/index.php', 1],  
    'title1' => ['Britnie', 'root/pop/index.php', 3],
    'title2' => ['Marley', 'root/reaggie/index.php', 4],
    'title4' => ['Wu-tang', 'root/rap/index.php', 2],
];
function cmp($a, $b) {
    if ($a[2] == $b[2]) {
        return 0;
    }
    return ($a[2] < $b[2]) ? -1 : 1;
}
uasort($array, cmp);
echo json_encode($array);
Answer 2

Сортировка массива

uasort($array, function($a,$b){return ($a[2]-$b[2]);});
READ ALSO
Обращение к файлу по очереди

Обращение к файлу по очереди

Есть функция проверяющая нового пользователя, она сверяет его ID, заменяет старый ник на новый (если требуется) или записывает нового пользователя...

138
MYSQL Выборка с указанием даты

MYSQL Выборка с указанием даты

Подскажите пожалуйста как сделать выборку из базы по дате, есть столбец created в котором дата записи, как например вывести записи с 1010

122
Как справиться с ошибкой функии protected??Laravel? [закрыт]

Как справиться с ошибкой функии protected??Laravel? [закрыт]

вообщем осваиваю laravelПытаюсь сделать форму регистрации на блог, при обьявлении функции вылетает такая ошибка :

104
Создание проекта на Symfony

Создание проекта на Symfony

Пытался создать проект на Symfony, введя в консоли:

115