dualiterator_001.phpt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. --TEST--
  2. SPL: DualIterator
  3. --SKIPIF--
  4. <?php if (!extension_loaded("spl") || !extension_loaded("reflection")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. function spl_examples_autoload($classname)
  8. {
  9. include(dirname(__FILE__) . '/../' . strtolower($classname) . '.inc');
  10. }
  11. spl_autoload_register('spl_examples_autoload');
  12. function test($a, $b, $identical = false)
  13. {
  14. var_dump(DualIterator::compareIterators(
  15. new RecursiveArrayIterator($a),
  16. new RecursiveArrayIterator($b),
  17. $identical));
  18. }
  19. test(array(1,2,3), array(1,2,3));
  20. test(array(1,2,3), array(1,2));
  21. test(array(1,array(21,22),3), array(1,array(21,22),3));
  22. test(array(1,array(21,22),3), array(1,array(21,22,23),3));
  23. test(array(1,array(21,22),3), array(1,array(21,22,3)));
  24. test(array(1,array(21,22),3), array(1,array(21),array(22),3));
  25. test(array(1,2,3), array(1,"2",3), false);
  26. test(array(1,2,3), array(1,"2",3), true);
  27. test(array(1,array(21,22),3), array(1,array(21,"22"),3), false);
  28. test(array(1,array(21,22),3), array(1,array(21,"22"),3), true);
  29. ?>
  30. ===DONE===
  31. <?php exit(0); ?>
  32. --EXPECT--
  33. bool(true)
  34. bool(false)
  35. bool(true)
  36. bool(false)
  37. bool(false)
  38. bool(false)
  39. bool(true)
  40. bool(false)
  41. bool(true)
  42. bool(false)
  43. ===DONE===