PHP通过带有日期的内部多维数组对多维数组进行排序

时间:2016-08-26 13:04:38

标签: php arrays sorting multidimensional-array

我搜索了这个网站,寻找答案,但我无法使其发挥作用。所以最后我发布这个问题知道有很多可能的重复。但是当我尝试使用答案时,我收到了stdClass

的错误消息

我有一个包含这些值的数组:

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] [UND] [0] [值]

我尝试过这种解法:Sorting by key in a multidimensional array with php

但我认为这是一个错误 致命错误:无法使用stdClass类型的对象作为数组

1 个答案:

答案 0 :(得分: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');