Я возвращаю все пятницы за текущий месяц и следующий месяц в раскрывающемся списке, что отлично работает.
У меня есть дополнительный шаг, на котором я хочу отображать в раскрывающемся списке только те месяцы, которые соответствуют месяцу в этом поле: $ productMonth = get_field ('product_month');
Это поле возвращает следующее значение: May.
Поэтому мне нужно просмотреть все элементы в этом массиве и вернуть их только в том случае, если месяц, который они с ними связали, совпадает с $ productMonth.
Я пробовал использовать array_filter, но знаю, что $ var.date ('F') не является ответом, я предполагаю, что я, вероятно, мог бы что-то сделать, получив последний бит строки, так как он всегда будет возвращать месяц, но это не идеально :
$array2 = array_filter($fridaysUnique, "matches_month");
function matches_month($var, $productMonth)
{
return ($var.date('F') === $productMonth);
}
А вот остальная часть моего кода:
<?php
$productMonth = get_field('product_month');
$thisMonth = date('F');
$nextMonth = date('F', strtotime("next month"));
$fridays = array();
$fridays[0] = date('l jS F', strtotime('first friday of this month'));
$fridays[1] = date('l jS F', strtotime('second friday of this month'));
$fridays[2] = date('l jS F', strtotime('third friday of this month'));
$fridays[3] = date('l jS F', strtotime('fourth friday of this month'));
$fridays[4] = date('l jS F', strtotime('fifth friday of this month'));
$fridays[5] = date('l jS F', strtotime('first friday of next month'));
$fridays[6] = date('l jS F', strtotime('second friday of next month'));
$fridays[7] = date('l jS F', strtotime('third friday of next month'));
$fridays[8] = date('l jS F', strtotime('fourth friday of next month'));
$fridays[9] = date('l jS F', strtotime('fifth friday of next month'));
$fridaysUnique = array_unique($fridays);
?>
<select>
<?php foreach ( $fridaysUnique as $friday ) : ?>
<option value=""><?php echo $friday; ?></option>
<?php endforeach; ?>
</select>
Помощь будет принята с благодарностью, и любые рекомендации по оптимизации кода приветствуются.
Спасибо