iterator_051.phpt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. --EXPECTF--
  24. string(3) "1,2"
  25. array(3) {
  26. [0]=>
  27. string(3) "1,2"
  28. [1]=>
  29. string(1) "1"
  30. [2]=>
  31. string(1) "2"
  32. }
  33. string(5) "1,2,3"
  34. array(3) {
  35. [0]=>
  36. string(3) "1,2"
  37. [1]=>
  38. string(1) "1"
  39. [2]=>
  40. string(1) "2"
  41. }
  42. int(1)
  43. array(2) {
  44. [0]=>
  45. string(1) "1"
  46. [1]=>
  47. string(1) "1"
  48. }
  49. string(3) "1,2"
  50. array(2) {
  51. [0]=>
  52. string(1) "1"
  53. [1]=>
  54. string(1) "1"
  55. }
  56. string(5) "1,2,3"
  57. array(2) {
  58. [0]=>
  59. string(1) "1"
  60. [1]=>
  61. string(1) "1"
  62. }
  63. int(0)
  64. array(2) {
  65. [0]=>
  66. string(1) "0"
  67. [1]=>
  68. string(1) "0"
  69. }
  70. object(ArrayIterator)#%d (1) {
  71. ["storage":"ArrayIterator":private]=>
  72. array(7) {
  73. [1]=>
  74. int(0)
  75. ["1,2"]=>
  76. int(1)
  77. ["1,2,3"]=>
  78. int(2)
  79. [0]=>
  80. int(3)
  81. ["FooBar"]=>
  82. int(4)
  83. [","]=>
  84. int(5)
  85. [",,"]=>
  86. int(6)
  87. }
  88. }