parent
765eb75869
commit
257cc2d796
14 changed files with 669 additions and 2 deletions
@ -0,0 +1,17 @@ |
||||
--TEST-- |
||||
Test PHP_INT_MIN, PHP_INT_MAX and PHP_INT_SIZE (32-bit) |
||||
--SKIPIF-- |
||||
<?php if (PHP_INT_SIZE !== 4) |
||||
die("skip this test is for 32-bit platforms only"); ?> |
||||
--FILE-- |
||||
<?php |
||||
|
||||
var_dump(PHP_INT_MIN); |
||||
var_dump(PHP_INT_MAX); |
||||
var_dump(PHP_INT_SIZE); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(-2147483648) |
||||
int(2147483647) |
||||
int(4) |
||||
@ -0,0 +1,17 @@ |
||||
--TEST-- |
||||
Test PHP_INT_MIN, PHP_INT_MAX and PHP_INT_SIZE (64-bit) |
||||
--SKIPIF-- |
||||
<?php if (PHP_INT_SIZE !== 8) |
||||
die("skip this test is for 64-bit platforms only"); ?> |
||||
--FILE-- |
||||
<?php |
||||
|
||||
var_dump(PHP_INT_MIN); |
||||
var_dump(PHP_INT_MAX); |
||||
var_dump(PHP_INT_SIZE); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(-9223372036854775808) |
||||
int(9223372036854775807) |
||||
int(8) |
||||
@ -0,0 +1,3 @@ |
||||
<?php |
||||
echo "Included!\n"; |
||||
?> |
||||
@ -0,0 +1,3 @@ |
||||
<?php |
||||
eval("require_once 'echo.inc';"); |
||||
?> |
||||
@ -0,0 +1,3 @@ |
||||
<?php |
||||
function test() { require_once 'echo.inc'; } |
||||
?> |
||||
@ -0,0 +1,82 @@ |
||||
--TEST-- |
||||
Binary integer strings (32bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using binary prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$binary = 0b1111111111111111111111111111111; |
||||
var_dump($binary); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$binary = 0b111111010000101010101010101010111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
|
||||
/* Integer */ |
||||
$binary = 0b1010110; |
||||
var_dump($binary); |
||||
|
||||
/* underscore separator */ |
||||
$binary = 0b1_010110; |
||||
var_dump($binary); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$binary = 0b0_01010110; |
||||
var_dump($binary); |
||||
$binary = 0b0_1010110; |
||||
var_dump($binary); |
||||
|
||||
/* Overflow to infinity */ |
||||
$binary = 0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
|
||||
/* Using binary prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$binary = 0B1111111111111111111111111111111; |
||||
var_dump($binary); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$binary = 0B111111010000101010101010101010111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
|
||||
/* Integer */ |
||||
$binary = 0B1010110; |
||||
var_dump($binary); |
||||
|
||||
/* underscore separator */ |
||||
$binary = 0B1_010110; |
||||
var_dump($binary); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$binary = 0B0_01010110; |
||||
var_dump($binary); |
||||
$binary = 0B0_1010110; |
||||
var_dump($binary); |
||||
|
||||
/* Overflow to infinity */ |
||||
$binary = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(1.9119287772983036E+25) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
float(INF) |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(1.9119287772983036E+25) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
float(INF) |
||||
@ -0,0 +1,82 @@ |
||||
--TEST-- |
||||
Binary integer strings (64bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using binary prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$binary = 0b111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$binary2 = 0b111111010000101010101010101010111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary2); |
||||
|
||||
/* Integer */ |
||||
$binary3 = 0b1010110; |
||||
var_dump($binary3); |
||||
|
||||
/* underscore separator */ |
||||
$binary = 0b1_010110; |
||||
var_dump($binary); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$binary = 0b0_01010110; |
||||
var_dump($binary); |
||||
$binary = 0b0_1010110; |
||||
var_dump($binary); |
||||
|
||||
/* Overflow to infinity */ |
||||
$binary4 = 0b111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary4); |
||||
|
||||
/* Using binary prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$binary = 0B111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$binary5 = 0B111111010000101010101010101010111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary5); |
||||
|
||||
/* Integer */ |
||||
$binary = 0B1010110; |
||||
var_dump($binary); |
||||
|
||||
/* underscore separator */ |
||||
$binary = 0B1_010110; |
||||
var_dump($binary); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$binary = 0B0_01010110; |
||||
var_dump($binary); |
||||
$binary = 0B0_1010110; |
||||
var_dump($binary); |
||||
|
||||
/* Overflow to infinity */ |
||||
$binary7 = 0B111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111; |
||||
var_dump($binary7); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(1.9119287772983036E+25) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
float(INF) |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(1.9119287772983036E+25) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
int(86) |
||||
float(INF) |
||||
@ -0,0 +1,82 @@ |
||||
--TEST-- |
||||
Hexadecimal integer strings (32bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using hexadecimal prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$hex = 0x7FFFFFFF; |
||||
var_dump($hex); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$hex = 0x45FFFABCDE0000000; |
||||
var_dump($hex); |
||||
|
||||
/* Integer */ |
||||
$hex = 0x1C; |
||||
var_dump($hex); |
||||
|
||||
/* underscore separator */ |
||||
$hex = 0x1_C; |
||||
var_dump($hex); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$hex = 0x0_01C; |
||||
var_dump($hex); |
||||
$hex = 0x0_1C; |
||||
var_dump($hex); |
||||
|
||||
/* Overflow to infinity */ |
||||
$hex = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; |
||||
var_dump($hex); |
||||
|
||||
/* Using hexadecimal prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$hex = 0X7FFFFFFF; |
||||
var_dump($hex); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$hex = 0X45FFFABCDE0000000; |
||||
var_dump($hex); |
||||
|
||||
/* Integer */ |
||||
$hex = 0X1C; |
||||
var_dump($hex); |
||||
|
||||
/* underscore separator */ |
||||
$hex = 0X1_C; |
||||
var_dump($hex); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$hex = 0X0_01C; |
||||
var_dump($hex); |
||||
$hex = 0X0_1C; |
||||
var_dump($hex); |
||||
|
||||
/* Overflow to infinity */ |
||||
$hex = 0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; |
||||
var_dump($hex); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(8.070441274821732E+19) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
float(INF) |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(8.070441274821732E+19) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
float(INF) |
||||
@ -0,0 +1,83 @@ |
||||
--TEST-- |
||||
Hexadecimal integer strings (64bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using hexadecimal prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$hex = 0x7FFFFFFFFFFFFFFF; |
||||
var_dump($hex); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$hex2 = 0x45FFFABCDE0000000; |
||||
var_dump($hex2); |
||||
|
||||
/* Integer */ |
||||
$hex = 0x1C; |
||||
var_dump($hex); |
||||
|
||||
/* underscore separator */ |
||||
$hex = 0x1_C; |
||||
var_dump($hex); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$hex = 0x0_01C; |
||||
var_dump($hex); |
||||
$hex = 0x0_1C; |
||||
var_dump($hex); |
||||
|
||||
/* Overflow to infinity */ |
||||
$hex6 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; |
||||
var_dump($hex6); |
||||
|
||||
|
||||
/* Using hexadecimal prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$hex = 0X7FFFFFFFFFFFFFFF; |
||||
var_dump($hex); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$hex11 = 0X45FFFABCDE0000000; |
||||
var_dump($hex11); |
||||
|
||||
/* Integer */ |
||||
$hex = 0X1C; |
||||
var_dump($hex); |
||||
|
||||
/* underscore separator */ |
||||
$hex = 0X1_C; |
||||
var_dump($hex); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$hex = 0X0_01C; |
||||
var_dump($hex); |
||||
$hex = 0X0_1C; |
||||
var_dump($hex); |
||||
|
||||
/* Overflow to infinity */ |
||||
$hex11 = 0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; |
||||
var_dump($hex11); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(8.070441274821732E+19) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
float(INF) |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(8.070441274821732E+19) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
int(28) |
||||
float(INF) |
||||
@ -0,0 +1,118 @@ |
||||
--TEST-- |
||||
Octal integer strings (32bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using octal prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$octal = 0o17777777777; |
||||
var_dump($octal); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$octal = 0o45734321536435450000000000; |
||||
var_dump($octal); |
||||
|
||||
/* Integer */ |
||||
$octal = 0o16; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 0o1_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 0o0_016; |
||||
var_dump($octal); |
||||
$octal = 0o0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal = 0o77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal); |
||||
|
||||
/* Using octal prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$octal = 0O17777777777; |
||||
var_dump($octal); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$octal = 0O45734321536435450000000000; |
||||
var_dump($octal); |
||||
|
||||
/* Integer */ |
||||
$octal = 0O16; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 0O1_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 0O0_016; |
||||
var_dump($octal); |
||||
$octal = 0O0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal = 0O77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal); |
||||
|
||||
/* Using no dedicated prefix */ |
||||
/* Maximum value representable as integer */ |
||||
$octal = 017777777777; |
||||
var_dump($octal); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* Floating number */ |
||||
$octal = 045734321536435450000000000; |
||||
var_dump($octal); |
||||
|
||||
/* Integer */ |
||||
$octal = 016; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 01_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 00_016; |
||||
var_dump($octal); |
||||
$octal = 0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal = 077777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
int(2147483647) |
||||
int(2147483647) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
@ -0,0 +1,133 @@ |
||||
--TEST-- |
||||
Octal integer strings (64bit) |
||||
--SKIPIF-- |
||||
<?php |
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); |
||||
?> |
||||
--FILE-- |
||||
<?php |
||||
/* Using octal prefix notation lowercase */ |
||||
/* Maximum value representable as integer */ |
||||
$octal0 = 0o777777777777777777777; |
||||
var_dump($octal0); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* *technically* this should work but treat this as a degenerate case */ |
||||
$octal2 = 0o1000000000000000000000; |
||||
var_dump($octal2); |
||||
|
||||
/* Floating number */ |
||||
$octal3 = 0o45734321536435450000000000; |
||||
var_dump($octal3); |
||||
|
||||
/* Integer */ |
||||
$octal = 0o16; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 0o1_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 0o0_016; |
||||
var_dump($octal); |
||||
$octal = 0o0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal8 = 0o77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal8); |
||||
|
||||
/* Using octal prefix notation uppercase */ |
||||
/* Maximum value representable as integer */ |
||||
$octal9 = 0O777777777777777777777; |
||||
var_dump($octal9); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* *technically* this should work but treat this as a degenerate case */ |
||||
$octal12 = 0O1000000000000000000000; |
||||
var_dump($octal12); |
||||
|
||||
/* Floating number */ |
||||
$octal11 = 0O45734321536435450000000000; |
||||
var_dump($octal11); |
||||
|
||||
/* Integer */ |
||||
$octal = 0O16; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 0O1_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 0O0_016; |
||||
var_dump($octal); |
||||
$octal = 0O0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal17 = 0O77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal17); |
||||
|
||||
/* Using no dedicated prefix */ |
||||
/* Maximum value representable as integer */ |
||||
$octal22 = 0777777777777777777777; |
||||
var_dump($octal22); |
||||
var_dump(PHP_INT_MAX); |
||||
|
||||
/* *technically* this should work but treat this as a degenerate case */ |
||||
$octal23 = 01000000000000000000000; |
||||
var_dump($octal23); |
||||
|
||||
/* Floating number */ |
||||
$octal21 = 045734321536435450000000000; |
||||
var_dump($octal21); |
||||
|
||||
/* Integer */ |
||||
$octal = 016; |
||||
var_dump($octal); |
||||
|
||||
/* underscore separator */ |
||||
$octal = 01_6; |
||||
var_dump($octal); |
||||
|
||||
/* Ignore leading 0 and _ */ |
||||
$octal = 00_016; |
||||
var_dump($octal); |
||||
$octal = 0_16; |
||||
var_dump($octal); |
||||
|
||||
/* Overflow to infinity */ |
||||
$octal102 = 077777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777; |
||||
var_dump($octal102); |
||||
|
||||
?> |
||||
--EXPECT-- |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(9.223372036854776E+18) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(9.223372036854776E+18) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
int(9223372036854775807) |
||||
int(9223372036854775807) |
||||
float(9.223372036854776E+18) |
||||
float(1.7912166229916324E+23) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
int(14) |
||||
float(INF) |
||||
@ -0,0 +1,19 @@ |
||||
--TEST-- |
||||
Valid Unicode escape sequences |
||||
--FILE-- |
||||
<?php |
||||
|
||||
var_dump("\u{61}"); // ASCII "a" - characters below U+007F just encode as ASCII, as it's UTF-8 |
||||
var_dump("\u{FF}"); // y with diaeresis |
||||
var_dump("\u{ff}"); // case-insensitive |
||||
var_dump("\u{2603}"); // Unicode snowman |
||||
var_dump("\u{1F602}"); // FACE WITH TEARS OF JOY emoji |
||||
var_dump("\u{0000001F602}"); // Leading zeroes permitted |
||||
?> |
||||
--EXPECT-- |
||||
string(1) "a" |
||||
string(2) "ÿ" |
||||
string(2) "ÿ" |
||||
string(3) "☃" |
||||
string(4) "😂" |
||||
string(4) "😂" |
||||
@ -0,0 +1,11 @@ |
||||
--TEST-- |
||||
Invalid Unicode escape sequence: Incomplete |
||||
--SKIPIF-- |
||||
<?php die("skip");?> |
||||
--FILE-- |
||||
<?php |
||||
|
||||
var_dump("\u{blah"); |
||||
?> |
||||
--EXPECTF-- |
||||
Parse error: Invalid UTF-8 codepoint escape sequence in %s on line %d |
||||
Loading…
Reference in new issue