Здравствуйте. Мне нужно отсортировать многомерный массив с выводом по значению. Не могу сгруппировать вложеные массивы по дате и вывести его с заголовком(дата), это должен быть цыкл или как? Пример массива данных
Array (
[0] => (
[ID] => 959
[title] => title
[post_date] => 2018-01-01 10:17:49
)
[1] => (
[ID] => 960
[title] => title
[post_date] => 2018-01-01 10:17:49
)
[2] => (
[ID] => 961
[title] => title
[post_date] => 2018-01-02 10:17:49
)
[3] => (
[ID] => 962
[title] => title
[post_date] => 2014-01-02 10:17:49
)
[4] => (
[ID] => 963
[title] => title
[post_date] => 2014-01-03 10:17:49
)
)
Что в итоге хочеться получить
<h2> 2018-01-01 </h2>
id: 959 Title
id: 560 Title
<h2> 2018-01-02 </h2>
id: 961 Title
id: 562 Title
<h2> 2018-01-02 </h2>
id: 963 Title
.....
Спасибо за варианты.
usort($your_array, function($a, $b) {
return $a['post_date'] - $b['post_date'];
});
print_r($your_array);
function date_compare($a, $b)
{
$t1 = strtotime($a['post_date']);
$t2 = strtotime($b['post_date']);
return $t1 - $t2;
}
usort($your_array, 'date_compare');
$last_date = null;
$html = '';
foreach ($your_array as $array){
if ($array['post_date'] != $last_date){
$html .= '<b>' . $array['post_date'] . '</b><br>';
}
$html .= 'id: ' . $array['ID'] . ' ' . $array['title'] . '<br>';
$last_date = $array['post_date'];
}
echo $html;
Вот тариант без функций сортировки
$test =array ( '0' => array( 'ID' => '959', 'title' => 'title','post_date' =>'2018-01-01 10:17:49'),
'1' => array( 'ID' => '960' ,'title' => 'title','post_date' =>'2018-01-01 10:17:49'),
'2' => array( 'ID' => '961', 'title' => 'title','post_date' =>'2018-01-02 10:17:49'),
'3' => array( 'ID' => '962', 'title' => 'title','post_date' =>'2014-01-02 10:17:49'),
'4' => array( 'ID' => '963', 'title' => 'title','post_date' =>'2014-01-03 10:17:49')
);
foreach($test as $arItem){
$date = date("d.m.Y", strtotime($arItem["post_date"]));
$arResult[$date][$arItem["ID"]] = $arItem;
}
foreach($arResult as $key => $arItemDate){
echo "<h2>".$key."</h2>";
foreach($arItemDate as $arItem){
echo "id: ".$arItem["ID"]." ".$arItem["title"]."<br/>";
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники