compact_variation1.phpt 811 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. Test compact() function : usage variations - arrays containing references.
  3. --FILE--
  4. <?php
  5. /*
  6. * compact variations - arrays with references
  7. */
  8. echo "*** Testing compact() : usage variations - arrays containing references ***\n";
  9. $a = 1;
  10. $b = 2;
  11. $c = 3;
  12. $string = "c";
  13. $arr1 = array("a", &$arr1);
  14. $arr2 = array("a", array(array(array("b"))));
  15. $arr2[1][0][0][] = &$arr2;
  16. $arr2[1][0][0][] = &$arr2[1];
  17. $arr3 = array(&$string);
  18. try {
  19. var_dump(compact($arr1));
  20. } catch (Error $e) {
  21. echo $e->getMessage() . "\n";
  22. }
  23. try {
  24. var_dump(compact($arr2));
  25. } catch (Error $e) {
  26. echo $e->getMessage() . "\n";
  27. }
  28. var_dump(compact($arr3));
  29. ?>
  30. --EXPECT--
  31. *** Testing compact() : usage variations - arrays containing references ***
  32. Recursion detected
  33. Recursion detected
  34. array(1) {
  35. ["c"]=>
  36. int(3)
  37. }