<?php
$data = '{"info":[{"id":1, "title":"original title", "name":"john doe", "date":"2010-05-15"}, {"id":2, "title":"another title", "name":"foo bar", "date":"2009-04-11"}]}';

$info = json_decode($data, true)['info'];

usort($info, function ($a, $b) {
    return $a['date'] <=> $b['date'];
});

foreach ($info as $item) {
    $date = DateTime::createFromFormat('Y-m-d', $item['date']);
    $year = $date->format('Y');
    echo "$year {$item['title']}\n";
}