Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //input
- $numberStirng = $_GET["numbersString"];
- $dateString = $_GET["dateString"];
- //get all numbers
- preg_match_all("/[^A-Za-z0-9](\d+)[^A-Za-z0-9]/", $numberStirng, $outputNumbers);
- $revertedSum = revertSumOfArr($outputNumbers[1]);
- preg_match_all("/\d{4}-(0[1-9]|1[0-2])-(0[0-9]|[12][0-9]|3[01])/", $dateString, $outputDates);
- //no result output
- if (count($outputDates[0]) == 0) {
- echo "<p>No dates</p>";
- die;
- }
- //rest of the logic
- $outputArray = addDaysToArray($outputDates[0], $revertedSum);
- //output
- printOutput($outputArray);
- function revertSumOfArr($data) {
- $sum = 0;
- foreach ($data as $v) {
- $sum += $v;
- }
- $sum = (string) $sum;
- $sum = strrev($sum);
- return intval($sum);
- }
- function addDaysToArray($datesArray, $days) {
- $outputArray = array();
- //My solution 1
- date_default_timezone_set("Europe/Sofia");
- foreach ($datesArray as $v) {
- array_push($outputArray, date('Y-m-d', strtotime($v . " + " . $days . " days")));
- }
- //My solution 2
- // date_default_timezone_set('Europe/Sofia');
- // foreach ($datesArray as $date) {
- //
- // $date = new DateTime($date);
- // $date->add(new DateInterval("P".$days."D"));
- // array_push($outputArray, $date);
- // }
- //Author solution
- // foreach ($datesArray as $da) {
- // $tempDate = date_create($date, timezone_open("Europe/Sofia"));
- // date_add($tempDate, date_interval_create_from_date_string("$days days"));
- // array_push($outputArray, $tempDate);
- // }
- //end of author solution
- return $outputArray;
- }
- function printOutput($outputArray) {
- echo "<ul>";
- foreach ($outputArray as $v) {
- //My Solution 1
- echo "<li>" . $v . "</li>";
- //My Solution 2
- //echo "<li>" . date_format($v, "Y-m-d") . "</li>";
- //Author solution
- //echo "<li>" . date_format($v, "Y-m-d") . "</li>";
- }
- echo "</ul>";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement