В php .... Как я могу отсортировать следующий пример с помощью «attachment_id» под каждым отдельным массивом [image] [videoembed] [и т. Д.] Таким образом, [изображение] будет заказано 691,692,699, а затем [videembed] было бы заказано аналогично, если их было больше 1 ... и т. д.php - сортировка массива по под-объекту
Я действительно надеюсь, что это имеет смысл.
спасибо, что все.
(
[image] => Array
(
[0] => stdClass Object
(
[title] => 77007_433592946695465_6701985_n.jpg
[attachment_id] => 699
)
[1] => stdClass Object
(
[title] => 253163_10151127010009522_736212653_n.jpg
[attachment_id] => 692
)
[2] => stdClass Object
(
[title] => 263893_10150217397944522_4550001_n.jpg
[attachment_id] => 691
)
)
[videoembed] => Array
(
[0] => stdClass Object
(
[title] => YouTube
[attachment_id] => 692
)
)
[] => Array
(
[0] => stdClass Object
(
[title] => yada.jpg
[attachment_id] => 688
)
)
)
Это то, что я пытаюсь, но не могу заставить его работать: Код: функция CMP ($ а, $ б) { \t \t возвращение $ a- > attachment_id - $ b-> attachment_id; \t \t} $ a \t = $ p-> get_attached_array(); \t \t $ newarray = array(); \t \t \t \t \t \t Еогеасп ($ в качестве $ attach_type) {// $ attach_type = суб массивы в основной массив ($ а) ... изображение массива, vieoembed массива и т.д. \t \t \t $ newarray [] = usort ($ attach_type, 'cmp'); \t \t} \t \t \t \t print_r ($ newarray); –
Я не уверен, что правильно понял ваш вопрос, но если вы хотите, чтобы ваш массив сортировался сначала по «типу» (изображение, видеоролик), а затем по идентификатору вложения, вам нужно сделать два вида сначала, используя usort сортировать вспомогательные массивы, а затем конкатрировать их и сортировать по клавише (ksort). Я не уверен, что это можно сделать с помощью одного вида, но, возможно, это может быть искаженное использование с некоторым глобальным состоянием. – erdeszt