2
Test mktime() function : usage variation - Passing unexpected values to sixth argument $year.
5
/* Prototype : int mktime ([ int $hour= date("H") [, int $minute= date("i") [, int $second= date("s") [, int $month= date("n") [, int $day= date("j") [, int $year= date("Y") [, int $is_dst= -1 ]]]]]]] )
6
* Description: Get Unix timestamp for a date
7
* Source code: ext/date/php_date.c
11
echo "*** Testing mktime() : usage variation - unexpected values to sixth argument \$year***\n";
13
//Set the default time zone
14
date_default_timezone_set("Europe/London");
16
//get an unset variable
20
// define some classes
21
class classWithToString
23
public function __toString() {
24
return "Class A object";
28
class classWithoutToString
38
$index_array = array (1, 2, 3);
39
$assoc_array = array ('one' => 1, 'two' => 2);
42
$file_handle = fopen(__FILE__, 'r');
44
//array of values to iterate over
50
'int -12345' => -12345,
54
'float -10.5' => -10.5,
58
'empty array' => array(),
59
'int indexed array' => $index_array,
60
'associative array' => $assoc_array,
61
'nested arrays' => array('foo', $index_array, $assoc_array),
64
'uppercase NULL' => NULL,
65
'lowercase null' => null,
68
'lowercase true' => true,
69
'lowercase false' =>false,
70
'uppercase TRUE' =>TRUE,
71
'uppercase FALSE' =>FALSE,
74
'empty string DQ' => "",
75
'empty string SQ' => '',
78
'string DQ' => "string",
79
'string SQ' => 'string',
80
'mixed case string' => "sTrInG",
81
'heredoc' => $heredoc,
84
'instance of classWithToString' => new classWithToString(),
85
'instance of classWithoutToString' => new classWithoutToString(),
88
'undefined var' => @$undefined_var,
91
'unset var' => @$unset_var,
94
'resource' => $file_handle
103
foreach($inputs as $variation =>$year) {
104
echo "\n-- $variation --\n";
105
var_dump( mktime($hour, $minute, $second, $month, $day, $year) );
108
// closing the resource
109
fclose( $file_handle );
114
*** Testing mktime() : usage variation - unexpected values to sixth argument $year***
120
%rint\(-?[1-9][0-9]*\)|bool\(false\)%r
123
%rint\(-?[1-9][0-9]*\)|bool\(false\)%r
129
%rint\(-?[1-9][0-9]*\)|bool\(false\)%r
136
Warning: mktime() expects parameter 6 to be long, array given in %s on line %d
139
-- int indexed array --
141
Warning: mktime() expects parameter 6 to be long, array given in %s on line %d
144
-- associative array --
146
Warning: mktime() expects parameter 6 to be long, array given in %s on line %d
151
Warning: mktime() expects parameter 6 to be long, array given in %s on line %d
163
-- lowercase false --
169
-- uppercase FALSE --
172
-- empty string DQ --
174
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
177
-- empty string SQ --
179
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
184
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
189
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
192
-- mixed case string --
194
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
199
Warning: mktime() expects parameter 6 to be long, string given in %s on line %d
202
-- instance of classWithToString --
204
Warning: mktime() expects parameter 6 to be long, object given in %s on line %d
207
-- instance of classWithoutToString --
209
Warning: mktime() expects parameter 6 to be long, object given in %s on line %d
220
Warning: mktime() expects parameter 6 to be long, resource given in %s on line %d