我有一个配置变量,它使用 foreach 循环打印出所有对象。有没有办法根据日期对打印出来的内容进行排序?
这是我打印对象的代码。我想根据 $press['date']
@foreach (config('constants.pressMetadata') as $press)
<div>
<p id="quote">{{ $press['title'] }}</p>
<div class="more label"><a id="link" href="{{$press['url']}}">-{{$press['company']}}: {{$press['date']}}</a></div>
<hr>
</div>
@endforeach
这是constants.pressMetadata
:
'pressMetadata'=>[
"AARP" => [
"id" => 1,
"company" => "AARP",
"title" => "Updating Your Résumé for the Digital Age",
"url" => "http://www.aarp.org/work/job-hunting/info-2016/give-resume-a-digital-reboot.html",
"date" => "Sep 9, 2016"
],
"Business Insider" => [
"id" => 2,
"company" => "Business Insider",
"title" => "8 things you should always include on your résumé",
"url" => "http://www.businessinsider.com/what-to-always-include-on-your-resume-2016-1",
"date" => "Jan 28, 2016"
],
"Morning Journal" => [
"id" => 3,
"company" => "Morning Journal",
"title" => "5 things you missed: Google updates search, Jobscan and more",
"url" => "http://www.morningjournal.com/article/MJ/20140124/NEWS/140129366",
"date" => "Jan 24, 2014"
],
],
最佳答案
您应该能够使用 Laravel 的集合来简化此过程。将对 config()
的调用包装在对 collect()
的调用中,然后对集合使用 sortBy()
方法对集合进行排序通过“日期”键的 strtotime()
值进行记录。如果您想以其他方式排序,请使用 sortByDesc()
方法。
@foreach (collect(config('constants.pressMetadata'))->sortBy(function ($press) { return strtotime($press['date']); }) as $press)
关于php - 在 laravel 中根据日期对配置变量进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43420642/