@@ -15,17 +15,30 @@ var_dump(clamp(2.5, 1.3, 3.4));
15
15
var_dump (clamp (0 , 1.3 , 3.4 ));
16
16
var_dump (clamp (M_PI , -INF , INF ));
17
17
var_dump (clamp (NAN , 4 , 6 ));
18
- var_dump (clamp (4 , NAN , 6 ));
19
- var_dump (clamp (8 , NAN , 6 ));
20
- var_dump (clamp (7 , 6 , NAN ));
21
- var_dump (clamp (4 , 6 , NAN ));
22
18
var_dump (clamp ("a " , "c " , "g " ));
23
19
var_dump (clamp ("d " , "c " , "g " ));
24
20
echo clamp ('2025-08-01 ' , '2025-08-15 ' , '2025-09-15 ' ), "\n" ;
25
21
echo clamp ('2025-08-20 ' , '2025-08-15 ' , '2025-09-15 ' ), "\n" ;
26
22
echo clamp (new \DateTimeImmutable ('2025-08-01 ' ), new \DateTimeImmutable ('2025-08-15 ' ), new \DateTimeImmutable ('2025-09-15 ' ))->format ('Y-m-d ' ), "\n" ;
27
23
echo clamp (new \DateTimeImmutable ('2025-08-20 ' ), new \DateTimeImmutable ('2025-08-15 ' ), new \DateTimeImmutable ('2025-09-15 ' ))->format ('Y-m-d ' ), "\n" ;
28
24
25
+ try {
26
+ var_dump (clamp (4 , NAN , 6 ));
27
+ } catch (ValueError $ error ) {
28
+ echo $ error ->getMessage (), "\n" ;
29
+ }
30
+
31
+ try {
32
+ var_dump (clamp (7 , 6 , NAN ));
33
+ } catch (ValueError $ error ) {
34
+ echo $ error ->getMessage (), "\n" ;
35
+ }
36
+
37
+ try {
38
+ var_dump (clamp (1 , 3 , 2 ));
39
+ } catch (ValueError $ error ) {
40
+ echo $ error ->getMessage (), "\n" ;
41
+ }
29
42
?>
30
43
--EXPECT--
31
44
int(2)
@@ -37,13 +50,12 @@ float(2.5)
37
50
float(1.3)
38
51
float(3.141592653589793)
39
52
double(NAN)
40
- int(4)
41
- int(6)
42
- int(7)
43
- int(6)
44
53
string(1) "c"
45
54
string(1) "d"
46
55
2025-08-15
47
56
2025-08-20
48
57
2025-08-15
49
58
2025-08-20
59
+ Argument #2 ($min) cannot be NAN
60
+ Argument #3 ($max) cannot be NAN
61
+ Argument #2 ($min) must be smaller than or equal to argument #3 ($max)
0 commit comments