mirror of
https://github.com/php/php-src.git
synced 2024-10-16 14:02:37 +00:00
85 lines
1.7 KiB
PHP
85 lines
1.7 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
|
|
--UEXPECTF--
|
|
*** Testing compact() : usage variations - arrays containg references ***
|
|
|
|
Warning: compact(): recursion detected in %s on line %d
|
|
array(1) {
|
|
[u"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) {
|
|
[u"a"]=>
|
|
int(1)
|
|
[u"b"]=>
|
|
int(2)
|
|
}
|
|
array(1) {
|
|
[u"c"]=>
|
|
int(3)
|
|
}
|
|
Done
|