<?php
$extend_limits = [
[
"callback" => 5,
"callback_left" => 5,
"period" => "2 week",
"demo" => true,
"order_id" => 744635,
"created" => strtotime("2016-10-24T13:06:10.298Z"),
"end_date" => strtotime("2018-11-07T13:06:13Z")
],
[
"callback" => 50,
"callback_left" => 36,
"period" => "5 month",
"order_id" => 744636,
"created" => strtotime("2015-10-24T13:06:10.298Z"),
"end_date" => strtotime("2018-11-07T13:06:13Z")
],
[
"callback" => 50,
"callback_left" => 50,
"period" => "1 month",
"order_id" => 744637,
"created" => strtotime("2014-10-24T13:06:10.298Z"),
"end_date" => strtotime("2018-11-07T13:06:13Z")
]
];
// Фильт по дате и количество
$date_filtered = array_filter($extend_limits, function($e) {
$expired = $e['end_date'] < time();
$count = $e['callback'] > 0;
return !$expired && $count;
});
if (count($date_filtered) < 1) {
return 0;
}
// Теперь нужно найти самый старый экспанд
$e = array_reduce($date_filtered, function ($last, $e) {
if (!$last) return $e;
return $e['created'] < $last['created'] ? $e : $last;
}, null);
$extend_index = (array_search($e, $extend_limits));
echo $extend_index;