第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP按包含日期的元素對多維數(shù)組進行排序

PHP按包含日期的元素對多維數(shù)組進行排序

PHP
蕪湖不蕪 2019-07-02 10:36:06
PHP按包含日期的元素對多維數(shù)組進行排序我有一個數(shù)組,如:Array([0] => Array     (         [id] => 2         [type] => comment        [text] => hey        [datetime] => 2010-05-15 11:29:45     )[1] => Array     (         [id] => 3         [type] => status        [text] => oi        [datetime] => 2010-05-26 15:59:53     )[2] => Array     (         [id] => 4         [type] => status        [text] => yeww        [datetime] => 2010-05-26 16:04:24     ))有人能建議一種基于datetime元素排序/排序的方法嗎?
查看完整描述

3 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

使用usort()以及自定義比較功能:

function date_compare($a, $b){
    $t1 = strtotime($a['datetime']);
    $t2 = strtotime($b['datetime']);
    return $t1 - $t2;}    usort($array, 'date_compare');

編輯:您的數(shù)據(jù)組織在數(shù)組中。為了更好地區(qū)分這些記錄,讓我們調用內部數(shù)組(數(shù)據(jù))記錄,以便您的數(shù)據(jù)實際上是一個記錄數(shù)組。

usort將其中兩個記錄傳遞給定的比較函數(shù)。date_compare()一次。date_compare然后提取"datetime"字段中的每個記錄作為UNIX時間戳(整數(shù)),并返回差異,這樣結果將是0如果兩個日期相等,則為正數(shù),如果第一個日期($a)為較大值或負值,如果第二個參數(shù)($b)更大。usort()使用此信息對數(shù)組進行排序。


查看完整回答
反對 回復 2019-07-02
?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

在php 7中,您可以使用宇宙飛船操作員:

usort($array, function($a, $b) {
  return new DateTime($a['datetime']) <=> new DateTime($b['datetime']);});


查看完整回答
反對 回復 2019-07-02
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

這應該管用。我通過strtotime將日期轉換為Unix Time。

  foreach ($originalArray as $key => $part) {
       $sort[$key] = strtotime($part['datetime']);
  }
  array_multisort($sort, SORT_DESC, $originalArray);

一個線性版本將使用多個數(shù)組方法:

array_multisort(array_map('strtotime',array_column($originalArray,'datetime')),
                SORT_DESC, 
                $originalArray);


查看完整回答
反對 回復 2019-07-02
  • 3 回答
  • 0 關注
  • 871 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號