1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00
Files
archived-php-src/ext/standard/tests/array/compact_variation1.phpt
George Peter Banyard 5fbd49f9ab Convert Errors to ValueErrors
Closes GH-4930
2019-12-05 14:22:54 +01:00

47 lines
1007 B
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 containing 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);
try {
var_dump(compact($arr1));
} catch (Error $e) {
echo $e->getMessage() . "\n";
}
try {
var_dump(compact($arr2));
} catch (Error $e) {
echo $e->getMessage() . "\n";
}
var_dump(compact($arr3));
?>
--EXPECT--
*** Testing compact() : usage variations - arrays containing references ***
Recursion detected
Recursion detected
array(1) {
["c"]=>
int(3)
}