Advertisement
Guest User

Untitled

a guest
Dec 31st, 2014
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.94 KB | None | 0 0
  1. <?php
  2.  
  3. //input
  4. $numberStirng = $_GET["numbersString"];
  5. $dateString = $_GET["dateString"];
  6. //get all numbers
  7. preg_match_all("/[^A-Za-z0-9](\d+)[^A-Za-z0-9]/", $numberStirng, $outputNumbers);
  8. $revertedSum = revertSumOfArr($outputNumbers[1]);
  9. preg_match_all("/\d{4}-(0[1-9]|1[0-2])-(0[0-9]|[12][0-9]|3[01])/", $dateString, $outputDates);
  10. //no result output
  11. if (count($outputDates[0]) == 0) {
  12.     echo "<p>No dates</p>";
  13.     die;
  14. }
  15. //rest of the logic
  16. $outputArray = addDaysToArray($outputDates[0], $revertedSum);
  17. //output
  18. printOutput($outputArray);
  19.  
  20. function revertSumOfArr($data) {
  21.     $sum = 0;
  22.     foreach ($data as $v) {
  23.         $sum += $v;
  24.     }
  25.     $sum = (string) $sum;
  26.     $sum = strrev($sum);
  27.     return intval($sum);
  28. }
  29.  
  30. function addDaysToArray($datesArray, $days) {
  31.     $outputArray = array();
  32. //My solution 1
  33.     date_default_timezone_set("Europe/Sofia");
  34.     foreach ($datesArray as $v) {
  35.         array_push($outputArray, date('Y-m-d', strtotime($v . " + " . $days . " days")));
  36.     }
  37. //My solution 2
  38. //    date_default_timezone_set('Europe/Sofia');
  39. //    foreach ($datesArray as $date) {
  40. //        
  41. //        $date = new DateTime($date);
  42. //        $date->add(new DateInterval("P".$days."D"));
  43. //        array_push($outputArray, $date);
  44. //    }
  45.  //Author solution
  46. //    foreach ($datesArray as $da) {
  47. //        $tempDate = date_create($date, timezone_open("Europe/Sofia"));
  48. //        date_add($tempDate, date_interval_create_from_date_string("$days days"));
  49. //        array_push($outputArray, $tempDate);
  50. //    }
  51. //end of author solution
  52.     return $outputArray;
  53. }
  54.  
  55. function printOutput($outputArray) {
  56.     echo "<ul>";
  57.     foreach ($outputArray as $v) {
  58.         //My Solution 1
  59.         echo "<li>" . $v . "</li>";
  60.         //My Solution 2
  61.         //echo "<li>" . date_format($v, "Y-m-d") . "</li>";
  62.         //Author solution
  63.         //echo "<li>" . date_format($v, "Y-m-d") . "</li>";
  64.     }
  65.     echo "</ul>";
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement