1--TEST-- 2Test date_sunrise() function : usage variation - Checking sunrise for consecutive days in specific timezone 3--FILE-- 4<?php 5/* Prototype : mixed date_sunrise(mixed time [, int format [, float latitude [, float longitude [, float zenith [, float gmt_offset]]]]]) 6 * Description: Returns time of sunrise for a given day and location 7 * Source code: ext/date/php_date.c 8 * Alias to functions: 9 */ 10 11echo "*** Testing date_sunrise() : usage variation ***\n"; 12 13//Timezones with required data for date_sunrise 14$inputs = array ( 15 //Timezone with Latitude, Longitude and GMT offset 16 "Pacific/Samoa" => array ("Latitude" => -14.24, "Longitude" => -170.72, "GMT" => -11), 17 "US/Alaska" => array ("Latitude" => 61, "Longitude" => -150 , "GMT" => -9), 18 "America/Chicago" => array ("Latitude" => 41.85, "Longitude" => -87.65 , "GMT" => -5), 19 "America/Montevideo" => array ("Latitude" => -34.88, "Longitude" => -56.18 , "GMT" => -3), 20 "Africa/Casablanca" => array ("Latitude" => 33.65, "Longitude" => -7.58, "GMT" => 0), 21 "Europe/Moscow" => array ("Latitude" => 55.75, "Longitude" => 37.58, "GMT" => 4), 22 "Asia/Hong_Kong" => array ("Latitude" => 22.28, "Longitude" => 114.15 , "GMT" => 8), 23 "Australia/Brisbane" => array ("Latitude" => -27.46, "Longitude" => 153.2 , "GMT" => 10), 24 "Pacific/Wallis" => array ("Latitude" => -13.3, "Longitude" => -176.16, "GMT" => 12), 25); 26 27foreach($inputs as $timezone => $value) { 28 date_default_timezone_set($timezone); 29 $time = mktime(8, 8, 8, 8, 11, 2008); 30 var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"] )); 31 $time = mktime(8, 8, 8, 8, 12, 2008); 32 var_dump( date_sunrise($time, SUNFUNCS_RET_STRING, $value["Latitude"], $value["Longitude"], 90, $value["GMT"]) ); 33} 34 35?> 36===DONE=== 37--EXPECTF-- 38*** Testing date_sunrise() : usage variation *** 39string(5) "06:41" 40string(5) "06:41" 41string(5) "05:09" 42string(5) "05:11" 43string(5) "05:59" 44string(5) "06:00" 45string(5) "07:30" 46string(5) "07:29" 47string(5) "05:53" 48string(5) "05:53" 49string(5) "05:59" 50string(5) "06:01" 51string(5) "06:01" 52string(5) "06:02" 53string(5) "06:23" 54string(5) "06:22" 55string(5) "06:03" 56string(5) "06:02" 57===DONE=== 58