I am trying to match today's date to the dates stored in an array. I am nearly there, but not quite.
If a match is found, I want to build a link, if not, do nothing.
The problem is that the match isn't what is expected. ie: For testing purposes, if I change one of the arrays to match today's date ( 11-08 ) it doesn't pull out the correct Festival name.
Any help greatly appreciated. I originally tried to adapt this post :- PHP multidimensional array search by value
$festivals = array (
1 => array(
'festivalname' => 'FestivalOne',
'eventname' => 'Red',
'link' => 'red',
'date' => '01-05',
),
2 => array(
'festivalname' => 'FestivalTwo',
'eventname' => 'Yellow',
'link' => 'yellow',
'date' => '02-02',
),
3 => array(
'festivalname' => 'FestivalThree',
'eventname' => 'Blue',
'link' => 'blue',
'date' => '02-08',
),
4 => array(
'festivalname' => 'FestivalFour',
'eventname' => 'Green',
'link' => 'green',
'date' => '31-10',
)
);
$today = gmdate("j-m");
$key = array_search($today, array_column($festivals, 'date'));
$keys = array_keys(array_column($festivals, 'date'), $today);
if ( $today == $festivals[$key]['link'] ) {
echo '<a href="http://example.com/festivals/'.$festivals[$key]['link'].'" title="Festival : '.$festivals[$key]['festivalname'].'">'.$festivals[$key]['festivalname'].'</a>';
};