@@ -15,17 +15,30 @@ var_dump(clamp(2.5, 1.3, 3.4));
1515var_dump (clamp (0 , 1.3 , 3.4 ));
1616var_dump (clamp (M_PI , -INF , INF ));
1717var_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 ));
2218var_dump (clamp ("a " , "c " , "g " ));
2319var_dump (clamp ("d " , "c " , "g " ));
2420echo clamp ('2025-08-01 ' , '2025-08-15 ' , '2025-09-15 ' ), "\n" ;
2521echo clamp ('2025-08-20 ' , '2025-08-15 ' , '2025-09-15 ' ), "\n" ;
2622echo clamp (new \DateTimeImmutable ('2025-08-01 ' ), new \DateTimeImmutable ('2025-08-15 ' ), new \DateTimeImmutable ('2025-09-15 ' ))->format ('Y-m-d ' ), "\n" ;
2723echo clamp (new \DateTimeImmutable ('2025-08-20 ' ), new \DateTimeImmutable ('2025-08-15 ' ), new \DateTimeImmutable ('2025-09-15 ' ))->format ('Y-m-d ' ), "\n" ;
2824
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+ }
2942?>
3043--EXPECT--
3144int(2)
@@ -37,13 +50,12 @@ float(2.5)
3750float(1.3)
3851float(3.141592653589793)
3952double(NAN)
40- int(4)
41- int(6)
42- int(7)
43- int(6)
4453string(1) "c"
4554string(1) "d"
46552025-08-15
47562025-08-20
48572025-08-15
49582025-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