Здравствуйте. Помогите с сортировкой массива.
[0] => Array
(
[id] => 1
[VALUE] => г. Москва
)
[1] => Array
(
[id] => 2
[VALUE] => д. Волки
)
[2] => Array
(
[id] => 3
[VALUE] => х. Орехово
)
[3] => Array
(
[id] => 4
[VALUE] => пос. Братылово
)
Необходимо отсортировать по значению ключа [VALUE], в алфавитном порядке, при этом игнорировать префиксы (г., д. ...). Результат должен быть:
х. Орехово
function cmp($a, $b)
{
};
usort($Array, 'cmp');
Спасибо!
В функции компаратора порезать значения по пробелу
3 параметр limit позволяет порезать по первому пробелу на 2 части
Сравнить выделенные строки удобным способом, (вернуть {-1, 0, 1})
синтаксис php >=7
$data = [
['id' => 1, 'VALUE' => 'г. Москва'],
['id' => 2, 'VALUE' => 'д. Волки'],
['id' => 3, 'VALUE' => 'х. Орехово'],
['id' => 4, 'VALUE' => 'пос. Братылёво'],
];
usort($data, function($a, $b) {
$a = preg_split('/\s+/', $a['VALUE'], 2);
$b = preg_split('/\s+/', $b['VALUE'], 2);
return $a[1] <=> $b[1];
});
echo json_encode($data, JSON_UNESCAPED_UNICODE)."\n";
echo json_encode(array_map(function($a){return $a['VALUE'];}, $data), JSON_UNESCAPED_UNICODE)."\n";
[{"id":4,"VALUE":"пос. Братылёво"},{"id":2,"VALUE":"д. Волки"},{"id":1,"VALUE":"г. Москва"},{"id":3,"VALUE":"х. Орехово"}]
["пос. Братылёво","д. Волки","г. Москва","х. Орехово"]
3v4l.org
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Почему после отправки корректных данных, файл datajson не дополняется?
Пытаюсь реализовать авторизацию между моби десктоп версиями сайта
Ребят нужно с помощью php подключиться к Ldap-серверу в локальной сети и вывести все что там есть, вопрос вывода я решу, а вот как подключиться...