dualiterator_001.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. SPL: DualIterator
  3. --FILE--
  4. <?php
  5. function spl_examples_autoload($classname)
  6. {
  7. include(__DIR__ . '/' . strtolower($classname) . '.inc');
  8. }
  9. spl_autoload_register('spl_examples_autoload');
  10. function test($a, $b, $identical = false)
  11. {
  12. var_dump(DualIterator::compareIterators(
  13. new RecursiveArrayIterator($a),
  14. new RecursiveArrayIterator($b),
  15. $identical));
  16. }
  17. test(array(1,2,3), array(1,2,3));
  18. test(array(1,2,3), array(1,2));
  19. test(array(1,array(21,22),3), array(1,array(21,22),3));
  20. test(array(1,array(21,22),3), array(1,array(21,22,23),3));
  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),array(22),3));
  23. test(array(1,2,3), array(1,"2",3), false);
  24. test(array(1,2,3), array(1,"2",3), true);
  25. test(array(1,array(21,22),3), array(1,array(21,"22"),3), false);
  26. test(array(1,array(21,22),3), array(1,array(21,"22"),3), true);
  27. ?>
  28. --EXPECT--
  29. bool(true)
  30. bool(false)
  31. bool(true)
  32. bool(false)
  33. bool(false)
  34. bool(false)
  35. bool(true)
  36. bool(false)
  37. bool(true)
  38. bool(false)