mirror of
https://github.com/php/php-src.git
synced 2025-01-08 20:17:28 +08:00
55 lines
1.2 KiB
PHP
55 lines
1.2 KiB
PHP
--TEST--
|
|
Test compact() function : usage variations - arrays containing references.
|
|
--FILE--
|
|
<?php
|
|
/* Prototype : proto array compact(mixed var_names [, mixed ...])
|
|
* Description: Creates a hash containing variables and their values
|
|
* Source code: ext/standard/array.c
|
|
* Alias to functions:
|
|
*/
|
|
/*
|
|
* compact variations - arrays with references
|
|
*/
|
|
echo "*** Testing compact() : usage variations - arrays containg references ***\n";
|
|
$a = 1;
|
|
$b = 2;
|
|
$c = 3;
|
|
$string = "c";
|
|
$arr1 = array("a", &$arr1);
|
|
$arr2 = array("a", array(array(array("b"))));
|
|
$arr2[1][0][0][] = &$arr2;
|
|
$arr2[1][0][0][] = &$arr2[1];
|
|
$arr3 = array(&$string);
|
|
var_dump(compact($arr1));
|
|
var_dump(compact($arr2));
|
|
var_dump(compact($arr3));
|
|
echo "Done";
|
|
?>
|
|
--EXPECTF--
|
|
*** Testing compact() : usage variations - arrays containg references ***
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
array(1) {
|
|
["a"]=>
|
|
int(1)
|
|
}
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
array(2) {
|
|
["a"]=>
|
|
int(1)
|
|
["b"]=>
|
|
int(2)
|
|
}
|
|
array(1) {
|
|
["c"]=>
|
|
int(3)
|
|
}
|
|
Done
|