2016-08-26 7 views
-1

Я искал этот сайт, ища ответы, но я не могу заставить его работать. Поэтому, наконец, я отправляю этот вопрос, зная, что существует много возможных дубликатов. Но когда я пытаюсь использовать ответы, я получаю сообщения об ошибках StdClassPHP sort Многомерный массив по внутреннему многомерному массиву с датой

У меня есть массив с этими значениями:

Array 
(
    [1251] => stdClass Object 
     (
      [vid] => 1253 
      [uid] => 20 
      [body] => Array 
       (
       ) 

      [field_datum] => Array 
       (
        [und] => Array 
         (
          [0] => Array 
           (
            [value] => 2016-09-17T11:30:00 
            [timezone] => Europe/Brussels 
            [timezone_db] => UTC 
            [date_type] => date 
           ) 

         ) 

       ) 
     ) 

мне придется сортировать этот массив с значением field_datum [ field_datum] [унд] [0] [значение]

Я попробовал это гуманный: Sorting by key in a multidimensional array with php

Но я получаю это как ошибку Фатальная ошибка: Невозможно использовать объект типа StdClass как массив

+0

почтовый индекс, который вызывает ошибку. – mmmm

+1

Ошибка, потому что вы используете объект и массив решений. class->, а не class ['attribute']. И пример очень отличается от вашего случая. – Cuchu

+0

Вам нужна итерация массива и получение значения даты и преобразование этого значения в метку времени и создание нового массива [timestamp1] [0] => object, array [timestamp1] [1] => object, array [timestamp2] [0] => object .. и их сортировать массив. – Cuchu

ответ

0

Со всеми ответами вы дали, я нашел решение

function cmp($a, $b) { 
    if ($a->field_datum == $b->field_datum) { 
    return 0; 
    } else { 
    return $b->field_datum < $a->field_datum ? 1 : -1; 
    } 
} 

usort($infodagen, 'cmp'); 
Смежные вопросы