monkeytooth Posted February 21, 2011 Share Posted February 21, 2011 I have an Array and I am attempting to figure out how I can sort it by date. Example of Said Array: Array ( [0] => Array ( [userComments0] => Array ( [bodyType] => 0 [created] => 2011-02-01 23:51:43 [currentUserFromGroup] => MEMBER_ONE [body] => We should all wear wooden clogs on Fridays. Who's with me? Huh? Anyone? ) ) [1] => Array ( [userComments1] => Array ( [bodyType] => 0 [created] => 2011-02-09 18:20:51 [currentUserFromGroup] => MEMBER_ONE [body] => Test ) ) [2] => Array ( [userComments2] => Array ( [bodyType] => 0 [created] => 2011-02-11 21:02:23 [currentUserFromGroup] => MEMBER_ONE [body] => TEst ) ) [3] => Array ( [userComments3] => Array ( [bodyType] => 0 [created] => 2011-02-12 17:02:31 [currentUserFromGroup] => MEMBER_ONE [body] => Posting a new idea ) ) [4] => Array ( [userComments4] => Array ( [bodyType] => 0 [created] => 2011-02-13 23:32:19 [currentUserFromGroup] => MEMBER_ONE [body] => Test Idea ) ) [5] => Array ( [userComments5] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:50:34 [currentUserFromGroup] => MEMBER_TWO [body] => Taco sauce is as good as French Toast! ) ) [6] => Array ( [userComments6] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:51:03 [currentUserFromGroup] => MEMBER_TWO [body] => Need to hire more engineers! ) ) [7] => Array ( [userComments7] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:51:42 [currentUserFromGroup] => MEMBER_TWO [body] => Golden Bears are all washed up ) ) [8] => Array ( [userComments8] => Array ( [bodyType] => 0 [created] => 2011-02-12 00:13:14 [currentUserFromGroup] => MEMBER_TWO [body] => The JETS are going to kick ass! ) ) [9] => Array ( [userComments9] => Array ( [bodyType] => 0 [created] => 2011-02-14 02:23:47 [currentUserFromGroup] => MEMBER_TWO [body] => We are getting there! ) ) ) But I have stumped myself on it, and cant wrap my mind around getting it sorted by datetime. I don't know where I should begin on this one fellas. Link to comment https://forums.phpfreaks.com/topic/228331-sortting-a-multi-dimensional-array/ Share on other sites More sharing options...
sKunKbad Posted February 21, 2011 Share Posted February 21, 2011 Look at php.net's uasort() page. http://us.php.net/manual/en/function.uasort.php. You might have to modify some code to suit your needs, but that function will be useful. Consider this: function compare($x, $y) { if ( $x[0]['created'] == $y[0]['created'] ) { return 0; } return ($a < $b) ? -1 : 1; } Link to comment https://forums.phpfreaks.com/topic/228331-sortting-a-multi-dimensional-array/#findComment-1177443 Share on other sites More sharing options...
monkeytooth Posted February 21, 2011 Author Share Posted February 21, 2011 yes sir, thats what I was working with originally.. My biggest problem was, which I think you resolved for me was having it end up as a 3d arrary rather than 2d. I found myself trying to work around a 2d array. Going back over the way I was creating my array I found that was wrong, after remastering it I got the array type I ultimately wanted, and then from there was able to sort it the way I wanted.. However you answered the question nicely too so credit given to you for that. Link to comment https://forums.phpfreaks.com/topic/228331-sortting-a-multi-dimensional-array/#findComment-1177450 Share on other sites More sharing options...
monkeytooth Posted February 21, 2011 Author Share Posted February 21, 2011 Just for reference, what I ended up doing while waiting for an answer here was: function shiftComments($a ,$b) { $c = strtotime($a['created']); $d = strtotime($b['created']); if ($c < $d) { return -1; } elseif ($c > $d) { return 1; } else { return strcmp($c, $d); } } Only after rebuilding my array to look like: Array ( [0] => Array ( [bodyType] => 0 [created] => 2011-02-01 23:51:43 [currentUserFromGroup] => MEMBER_ONE [body] => We should all wear wooden clogs on Fridays. Who's with me? Huh? Anyone? ) [1] => Array ( [bodyType] => 0 [created] => 2011-02-09 18:20:51 [currentUserFromGroup] => MEMBER_ONE [body] => Test ) [2] => Array ( [bodyType] => 0 [created] => 2011-02-11 21:02:23 [currentUserFromGroup] => MEMBER_ONE ) [3] => Array ( [bodyType] => 0 [created] => 2011-02-12 17:02:31 [currentUserFromGroup] => MEMBER_ONE [body] => Posting a new idea ) [4] => Array ( [bodyType] => 0 [created] => 2011-02-13 23:32:19 [currentUserFromGroup] => MEMBER_ONE [body] => Test Idea ) [5] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:50:34 [currentUserFromGroup] => MEMBER_TWO [body] => Taco sauce is as good as French Toast! ) [6] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:51:03 [currentUserFromGroup] => MEMBER_TWO [body] => Need to hire more engineers! ) [7] => Array ( [bodyType] => 0 [created] => 2011-02-10 01:51:42 [currentUserFromGroup] => MEMBER_TWO [body] => Golden Bears are all washed up ) [8] => Array ( [bodyType] => 0 [created] => 2011-02-12 00:13:14 [currentUserFromGroup] => MEMBER_TWO [body] => The JETS are going to kick ass! ) [9] => Array ( [bodyType] => 0 [created] => 2011-02-14 02:23:47 [currentUserFromGroup] => MEMBER_TWO [body] => We are getting there! ) in comparison to my original posts array Link to comment https://forums.phpfreaks.com/topic/228331-sortting-a-multi-dimensional-array/#findComment-1177452 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.