【问题标题】:How to sort array with other arrays by date and take a limit in laravel and carbon如何按日期对数组与其他数组进行排序并限制laravel和carbon
【发布时间】:2021-06-11 06:13:23
【问题描述】:

我有这个数组和其他 16 个数组

array:16 [▼
  0 => array:6 [▼
    "id" => 1867
    "meta_date" => Illuminate\Support\Carbon @1564536945 {#4600 ▼
      date: 2019-07-31 01:35:45.0 UTC (+00:00)
        }
         "title" => ""
        "summary" => """
  1 => array:6 [▼
    "id" => 1868
    "meta_date" => Illuminate\Support\Carbon @1524215895 {#4465 ▼
      date: 2018-04-20 09:18:15.0 UTC (+00:00)
    }
    "meta_type" => ""
    "title" => ""
    "summary" => """

等等……

我想按每个“子”数组中包含的“meta_date”字段中指定的日期对主数组进行排序,排序可以是$sort= "asc"$sort= "desc"

我想对主数组进行动态限制,例如如果$limit=10 采用按所选日期排序的前 10 个数组

目前,我使用的是 PHP 7.3 和 laravel 8

【问题讨论】:

    标签: php arrays laravel


    【解决方案1】:

    Laravel 的 collections 提供你需要的一切:

    collect($arr)->{$sort === 'desc' ? 'sortByDesc' : 'sortBy'}('meta_date')->take($limit)->values()->all();
    

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多