PHP to find the closest previous date from an array of dates
Code Solution
<?php
// Function to find the closest previous date from an array of dates
function findClosestPreviousDate($date, $dates) {
// Sort the array of dates in descending order
rsort($dates);
// Iterate through the sorted array of dates
foreach ($dates as $candidateDate) {
// If the candidate date is less than or equal to the given date,
// return the candidate date
if ($candidateDate <= $date) {
return $candidateDate;
}
}
// If no previous date is found, return null
return null;
}
// Example usage
$date = '2023-03-08';
$dates = ['2023-03-10', '2023-03-09', '2023-03-07'];
$closestPreviousDate = findClosestPreviousDate($date, $dates);
if ($closestPreviousDate) {
echo "The closest previous date is $closestPreviousDate";
} else {
echo "No previous date found";
}
Explanation
This code solution defines a function called findClosestPreviousDate()
that takes two parameters: the date to search for and an array of dates. It sorts the array of dates in descending order, then iterates through the sorted array to find the closest previous date. If no previous date is found, the function returns null
.
To use the function, you can pass in the date you want to search for and an array of dates. The function will return the closest previous date, or null
if no previous date is found.
Implementation
To implement this solution effectively, you can follow these steps:
- Define the
findClosestPreviousDate()
function as shown in the code solution. - Call the
findClosestPreviousDate()
function with the date you want to search for and an array of dates. - Check the return value of the function. If it is not
null
, the closest previous date was found.