iterator_051.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. --TEST--
  2. SPL: RegexIterator::GET_MATCH, USE_KEY
  3. --FILE--
  4. <?php
  5. class MyRegexIterator extends RegexIterator
  6. {
  7. function show()
  8. {
  9. foreach($this as $k => $v)
  10. {
  11. var_dump($k);
  12. var_dump($v);
  13. }
  14. }
  15. }
  16. $ar = new ArrayIterator(array('1'=>0,'1,2'=>1,'1,2,3'=>2,0=>3,'FooBar'=>4,','=>5,',,'=>6));
  17. $it = new MyRegexIterator($ar, '/(\d),(\d)/', RegexIterator::GET_MATCH, RegexIterator::USE_KEY);
  18. $it->show();
  19. $it = new MyRegexIterator($ar, '/(\d)/', RegexIterator::GET_MATCH, RegexIterator::USE_KEY);
  20. $it->show();
  21. var_dump($ar);
  22. ?>
  23. ===DONE===
  24. <?php exit(0); ?>
  25. --EXPECTF--
  26. string(3) "1,2"
  27. array(3) {
  28. [0]=>
  29. string(3) "1,2"
  30. [1]=>
  31. string(1) "1"
  32. [2]=>
  33. string(1) "2"
  34. }
  35. string(5) "1,2,3"
  36. array(3) {
  37. [0]=>
  38. string(3) "1,2"
  39. [1]=>
  40. string(1) "1"
  41. [2]=>
  42. string(1) "2"
  43. }
  44. int(1)
  45. array(2) {
  46. [0]=>
  47. string(1) "1"
  48. [1]=>
  49. string(1) "1"
  50. }
  51. string(3) "1,2"
  52. array(2) {
  53. [0]=>
  54. string(1) "1"
  55. [1]=>
  56. string(1) "1"
  57. }
  58. string(5) "1,2,3"
  59. array(2) {
  60. [0]=>
  61. string(1) "1"
  62. [1]=>
  63. string(1) "1"
  64. }
  65. int(0)
  66. array(2) {
  67. [0]=>
  68. string(1) "0"
  69. [1]=>
  70. string(1) "0"
  71. }
  72. object(ArrayIterator)#%d (1) {
  73. ["storage":"ArrayIterator":private]=>
  74. array(7) {
  75. [1]=>
  76. int(0)
  77. ["1,2"]=>
  78. int(1)
  79. ["1,2,3"]=>
  80. int(2)
  81. [0]=>
  82. int(3)
  83. ["FooBar"]=>
  84. int(4)
  85. [","]=>
  86. int(5)
  87. [",,"]=>
  88. int(6)
  89. }
  90. }
  91. ===DONE===