0

I have an multidimensional array and want to sort in according to date and also want to get only 5 data from an array.

Array :

Array
(
    [0] => Array
        (
            [ID] => 1
            [TITLE] => example1
            [DATE] => 2016-05-17
            [PST_BY] => 0
            [IMG_NM] => 
            [SLUG] => 
            [NAME] => Web Design & Development
        )

    [1] => Array
        (
            [ID] => 2
            [TITLE] => example2
            [DATE] => 2016-05-20
            [PST_BY] => 0
            [IMG_NM] => 
            [SLUG] => 
            [NAME] => Mobile OS
        )
)

I am doing this but not working :

 $list = array_sort($blog, 'DATE', SORT_ASC);
 print_r($list);
Manish Tiwari
  • 1,806
  • 10
  • 42
  • 65

1 Answers1

-1

Example to sort on a specific key (in this case name):

// Function to compare two items in the array
function CompareName($left, $right) {
  return $left['name'] > $right['name'];
}

// Example array/data
$myarray = [
  ["id"=>1, "name"=>"foo"],
  ["id"=>2, "name"=>"bar"],
  ["id"=>3, "name"=>"ah"],
  ["id"=>4, "name"=>"zoo"]
];

echo 'Unsorted:';
var_dump($myarray);

usort($myarray , 'CompareName');

echo 'Sorted:';
var_dump($myarray);

want to get only 5 data from an array

$top5 = array_slice($myarray, 0, 5);

or:

$top5 = array_splice($myarray, 0, 5);
RobIII
  • 8,488
  • 2
  • 43
  • 93