2007-05-14 11:04:30 +00:00
|
|
|
|
--TEST--
|
|
|
|
|
Test debug_zval_dump() function : basic operations
|
|
|
|
|
--SKIPIF--
|
|
|
|
|
<?php
|
|
|
|
|
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
|
|
|
|
?>
|
|
|
|
|
--INI--
|
|
|
|
|
precision=14
|
2007-05-15 14:25:21 +00:00
|
|
|
|
allow_call_time_pass_reference=1
|
2007-05-14 11:04:30 +00:00
|
|
|
|
--FILE--
|
|
|
|
|
<?php
|
|
|
|
|
/* Prototype: void debug_zval_dump ( mixed $variable );
|
|
|
|
|
Description: Dumps a string representation of an internal zend value
|
|
|
|
|
to output.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/* creating file resource */
|
|
|
|
|
$file_handle = fopen(__FILE__, "r");
|
|
|
|
|
|
|
|
|
|
echo "*** Testing debug_zval_dump() on scalar and non-scalar variables ***\n";
|
|
|
|
|
$values = array (
|
|
|
|
|
/* integers */
|
|
|
|
|
0, // zero as argument
|
|
|
|
|
000000123, //octal value of 83
|
|
|
|
|
123000000,
|
|
|
|
|
-00000123, //octal value of 83
|
|
|
|
|
-12300000,
|
|
|
|
|
0xffffff, //hexadecimal value
|
|
|
|
|
123456789,
|
|
|
|
|
1,
|
|
|
|
|
-1,
|
|
|
|
|
|
|
|
|
|
/* floats */
|
|
|
|
|
-0.0,
|
|
|
|
|
+0.0,
|
|
|
|
|
1.234,
|
|
|
|
|
-1.234,
|
|
|
|
|
-2.000000,
|
|
|
|
|
2.0000000,
|
|
|
|
|
-4.0001e+5,
|
|
|
|
|
4.0001E+5,
|
|
|
|
|
6.99999989,
|
|
|
|
|
-.5,
|
|
|
|
|
.567,
|
|
|
|
|
-.6700000e-3,
|
|
|
|
|
-.6700000E+3,
|
|
|
|
|
1E-5,
|
|
|
|
|
-1e+5,
|
|
|
|
|
1e+5,
|
|
|
|
|
1E-5,
|
|
|
|
|
|
|
|
|
|
/* strings */
|
|
|
|
|
"",
|
|
|
|
|
'',
|
|
|
|
|
" ",
|
|
|
|
|
' ',
|
|
|
|
|
"0",
|
|
|
|
|
"\0",
|
|
|
|
|
'\0',
|
|
|
|
|
"\t",
|
|
|
|
|
'\t',
|
|
|
|
|
"PHP",
|
|
|
|
|
'PHP',
|
|
|
|
|
"1234\t\n5678\n\t9100\rabcda\x0000cdeh\0stuv", // strings with escape chars
|
|
|
|
|
|
|
|
|
|
/* boolean */
|
|
|
|
|
TRUE,
|
|
|
|
|
FALSE,
|
|
|
|
|
true,
|
|
|
|
|
false,
|
|
|
|
|
|
|
|
|
|
/* arrays */
|
|
|
|
|
array(),
|
|
|
|
|
array(NULL),
|
|
|
|
|
array(true),
|
|
|
|
|
array(""),
|
|
|
|
|
array(''),
|
|
|
|
|
array(array(1, 2), array('a', 'b')),
|
|
|
|
|
array("test" => "is_array", 1 => 'One'),
|
|
|
|
|
array(0),
|
|
|
|
|
array(-1),
|
|
|
|
|
array(10.5, 5.6),
|
|
|
|
|
array("string", "test"),
|
|
|
|
|
array('string', 'test'),
|
|
|
|
|
|
|
|
|
|
/* resources */
|
|
|
|
|
$file_handle
|
|
|
|
|
);
|
|
|
|
|
/* loop to display the variables and its reference count using
|
|
|
|
|
debug_zval_dump() */
|
|
|
|
|
$counter = 1;
|
|
|
|
|
foreach( $values as $value ) {
|
|
|
|
|
echo "-- Iteration $counter --\n";
|
|
|
|
|
debug_zval_dump( $value );
|
|
|
|
|
debug_zval_dump( &$value );
|
|
|
|
|
$counter++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* closing resource handle */
|
|
|
|
|
fclose($file_handle);
|
|
|
|
|
|
|
|
|
|
echo "Done\n";
|
|
|
|
|
?>
|
|
|
|
|
--EXPECTF--
|
|
|
|
|
*** Testing debug_zval_dump() on scalar and non-scalar variables ***
|
|
|
|
|
-- Iteration 1 --
|
|
|
|
|
long(0) refcount(3)
|
|
|
|
|
&long(0) refcount(2)
|
|
|
|
|
-- Iteration 2 --
|
|
|
|
|
long(83) refcount(3)
|
|
|
|
|
&long(83) refcount(2)
|
|
|
|
|
-- Iteration 3 --
|
|
|
|
|
long(123000000) refcount(3)
|
|
|
|
|
&long(123000000) refcount(2)
|
|
|
|
|
-- Iteration 4 --
|
|
|
|
|
long(-83) refcount(3)
|
|
|
|
|
&long(-83) refcount(2)
|
|
|
|
|
-- Iteration 5 --
|
|
|
|
|
long(-12300000) refcount(3)
|
|
|
|
|
&long(-12300000) refcount(2)
|
|
|
|
|
-- Iteration 6 --
|
|
|
|
|
long(16777215) refcount(3)
|
|
|
|
|
&long(16777215) refcount(2)
|
|
|
|
|
-- Iteration 7 --
|
|
|
|
|
long(123456789) refcount(3)
|
|
|
|
|
&long(123456789) refcount(2)
|
|
|
|
|
-- Iteration 8 --
|
|
|
|
|
long(1) refcount(3)
|
|
|
|
|
&long(1) refcount(2)
|
|
|
|
|
-- Iteration 9 --
|
|
|
|
|
long(-1) refcount(3)
|
|
|
|
|
&long(-1) refcount(2)
|
|
|
|
|
-- Iteration 10 --
|
|
|
|
|
double(0) refcount(3)
|
|
|
|
|
&double(0) refcount(2)
|
|
|
|
|
-- Iteration 11 --
|
|
|
|
|
double(0) refcount(3)
|
|
|
|
|
&double(0) refcount(2)
|
|
|
|
|
-- Iteration 12 --
|
|
|
|
|
double(1.234) refcount(3)
|
|
|
|
|
&double(1.234) refcount(2)
|
|
|
|
|
-- Iteration 13 --
|
|
|
|
|
double(-1.234) refcount(3)
|
|
|
|
|
&double(-1.234) refcount(2)
|
|
|
|
|
-- Iteration 14 --
|
|
|
|
|
double(-2) refcount(3)
|
|
|
|
|
&double(-2) refcount(2)
|
|
|
|
|
-- Iteration 15 --
|
|
|
|
|
double(2) refcount(3)
|
|
|
|
|
&double(2) refcount(2)
|
|
|
|
|
-- Iteration 16 --
|
|
|
|
|
double(-400010) refcount(3)
|
|
|
|
|
&double(-400010) refcount(2)
|
|
|
|
|
-- Iteration 17 --
|
|
|
|
|
double(400010) refcount(3)
|
|
|
|
|
&double(400010) refcount(2)
|
|
|
|
|
-- Iteration 18 --
|
|
|
|
|
double(6.99999989) refcount(3)
|
|
|
|
|
&double(6.99999989) refcount(2)
|
|
|
|
|
-- Iteration 19 --
|
|
|
|
|
double(-0.5) refcount(3)
|
|
|
|
|
&double(-0.5) refcount(2)
|
|
|
|
|
-- Iteration 20 --
|
|
|
|
|
double(0.567) refcount(3)
|
|
|
|
|
&double(0.567) refcount(2)
|
|
|
|
|
-- Iteration 21 --
|
|
|
|
|
double(-0.00067) refcount(3)
|
|
|
|
|
&double(-0.00067) refcount(2)
|
|
|
|
|
-- Iteration 22 --
|
|
|
|
|
double(-670) refcount(3)
|
|
|
|
|
&double(-670) refcount(2)
|
|
|
|
|
-- Iteration 23 --
|
|
|
|
|
double(1.0E-5) refcount(3)
|
|
|
|
|
&double(1.0E-5) refcount(2)
|
|
|
|
|
-- Iteration 24 --
|
|
|
|
|
double(-100000) refcount(3)
|
|
|
|
|
&double(-100000) refcount(2)
|
|
|
|
|
-- Iteration 25 --
|
|
|
|
|
double(100000) refcount(3)
|
|
|
|
|
&double(100000) refcount(2)
|
|
|
|
|
-- Iteration 26 --
|
|
|
|
|
double(1.0E-5) refcount(3)
|
|
|
|
|
&double(1.0E-5) refcount(2)
|
|
|
|
|
-- Iteration 27 --
|
|
|
|
|
string(0) "" refcount(3)
|
|
|
|
|
&string(0) "" refcount(2)
|
|
|
|
|
-- Iteration 28 --
|
|
|
|
|
string(0) "" refcount(3)
|
|
|
|
|
&string(0) "" refcount(2)
|
|
|
|
|
-- Iteration 29 --
|
|
|
|
|
string(1) " " refcount(3)
|
|
|
|
|
&string(1) " " refcount(2)
|
|
|
|
|
-- Iteration 30 --
|
|
|
|
|
string(1) " " refcount(3)
|
|
|
|
|
&string(1) " " refcount(2)
|
|
|
|
|
-- Iteration 31 --
|
|
|
|
|
string(1) "0" refcount(3)
|
|
|
|
|
&string(1) "0" refcount(2)
|
|
|
|
|
-- Iteration 32 --
|
|
|
|
|
string(1) " |