Before ;-)
Das merk ich mir diesmal hoffentlich.
Dateien, die dann als CSV importiert werden und ein wenig mit suchen und ersetzen aufgehübscht werden.
Solche Sachen mach ich auch gern:
<?php
$arf = file('easter.csv');
$arr = array();
foreach ($arf as $row) {
list($d, $m, $y) = explode( ' ', trim($row));
$arr[$y] = mktime(0, 0, 0, $m, $d, $y);
}
file_put_contents ('easterDate.php', '<?php function easterDate($y) { $arr = ' . preg_replace('/\s\s+/',' ', var_export($arr, true) . '; return $arr[$y];}'));
Ausschnitt aus easter.csv:
4 4 2010
24 4 2011
8 4 2012
31 3 2013
20 4 2014
5 4 2015
27 3 2016
16 4 2017
1 4 2018
21 4 2019
12 4 2020
4 4 2021
17 4 2022
9 4 2023
31 3 2024
Das ergibt dann einen ziemlich heftigen "Einzeiler":
<?php function easterDate($y) { $arr = array ( 1700 => -8511699600,
[...]
, 2299 => 10391324400,); return $arr[$y];}
Irgendwann vorher sahen die Daten so aus ...
Aber kate kann reguläre Ausdrücke ... damit war das in Minuten umgefummelt.
Nur leider war das für die Katz, denn wie die Tests ergaben ist die Funktion mit dem return aus dem Array signifikanter langsamer als
function easterDate($y) {
return ( mktime(0, 0, 0, 3, 21 + easter_days( $y ), $y ) );
}