Intereting Posts
как удалить url (/web/index.php) yii 2 и задать маршрут с параметром с чистым URL-адресом? как получить все данные из db между двумя датами в PHP Laravel? Почему этот простой php-скрипт утечки памяти? Как изменить URL-адрес после успеха в ajax без перезагрузки страницы Как изменить представление по умолчанию для контроллера в Yii2? PHP MySQL, если время составляет 5 минут или больше, то время хранения Как установить страницу категории в качестве домашней страницы в Prestashop try catch и несколько операторов mysql insert. Будет ли он принимать все или отклонять все запросы? Оптимизация сайтов, основанных на коханах, для скорости и масштабируемости Лучший PHP DAL (уровень абстракции данных) до сих пор Как я могу отправить данные div в MySQL Переслать данные из одного действия контроллера в другое в yii2 Исправление ошибки 1064 SQL Ошибка импорта базы данных в Wampserver Как легко загружать файлы без отправки формы (с помощью jQuery + AJAX) Исключение SQLSTATE при подключении к базе данных с помощью 000webhost

Сортировка Mulitdemensional Array PHP

У меня есть следующий массив, он в настоящее время создан, отсортированный по entity_count (выводимый запросом, сделанным в cakephp – мне нужны только самые лучшие сущности), теперь я хочу отсортировать массив для Entity-> title.

Я попытался сделать это с помощью array_multisort но не смог. Это возможно?

 Array ( [0] => Array ( [Entity] => Array ( [title] => Orange ) [0] => Array ( [entitycount] => 76 ) ) [1] => Array ( [Entity] => Array ( [title] => Apple ) [0] => Array ( [entitycount] => 78 ) ) [2] => Array ( [Entity] => Array ( [title] => Lemon ) [0] => Array ( [entitycount] => 85 ) ) ) 

Создайте функцию обратного вызова следующим образом:

 function callback($value) { return isset($value['entity']['title']) ? $value['entity']['title'] : null; } 

Затем запустите его массив array_map и multi sort

 array_multisort(array_map($myArray,'callback'), $myArray); 

Попробуй это:

 $keys = array_map($arr, function($val) { return $val['Entity']['title']; }); array_multisort($keys, $arr); 

Здесь array_map и анонимная функция (доступная с PHP 5.3, вы можете использовать create_function в предыдущих версиях) используется для получения массива титров, который затем используется для сортировки массива в соответствии с их названиями.

Вам нужно написать пользовательскую функцию сравнения, а затем использовать usort . Вызовите его, используя:

 usort ( $arrayy , callback $cmp_function );