array_map_variation7.phpt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. --TEST--
  2. Test array_map() function : usage variations - arrays of different size
  3. --FILE--
  4. <?php
  5. /* Prototype : array array_map ( callback $callback , array $arr1 [, array $... ] )
  6. * Description: Applies the callback to the elements of the given arrays
  7. * Source code: ext/standard/array.c
  8. */
  9. /*
  10. * Test array_map() by passing array having different size
  11. * 1) first array as empty array
  12. * 2) second array as empty array
  13. * 3) second array shorter than first array
  14. * 4) first array shorter than second array
  15. * 5) one more array than callback function arguments
  16. */
  17. echo "*** Testing array_map() : arrays with diff. size ***\n";
  18. function callback($a, $b)
  19. {
  20. return array($a => $b);
  21. }
  22. // calling array_map with different arrays
  23. var_dump( array_map('callback', array(1, 2, 3), array()) );
  24. var_dump( array_map('callback', array(), array('a', 'b', 'c')) );
  25. var_dump( array_map('callback', array(1, 2, 3), array('a', 'b')) );
  26. var_dump( array_map('callback', array(012, 0x2F, 0X1A), array(2.3, 12.4e2)) );
  27. var_dump( array_map('callback', array(), array(1, 2, 3), array('a', 'b')) ); // passing more no. of arrays than callback function argument
  28. echo "Done";
  29. ?>
  30. --EXPECTF--
  31. *** Testing array_map() : arrays with diff. size ***
  32. array(3) {
  33. [0]=>
  34. array(1) {
  35. [1]=>
  36. NULL
  37. }
  38. [1]=>
  39. array(1) {
  40. [2]=>
  41. NULL
  42. }
  43. [2]=>
  44. array(1) {
  45. [3]=>
  46. NULL
  47. }
  48. }
  49. array(3) {
  50. [0]=>
  51. array(1) {
  52. [""]=>
  53. string(1) "a"
  54. }
  55. [1]=>
  56. array(1) {
  57. [""]=>
  58. string(1) "b"
  59. }
  60. [2]=>
  61. array(1) {
  62. [""]=>
  63. string(1) "c"
  64. }
  65. }
  66. array(3) {
  67. [0]=>
  68. array(1) {
  69. [1]=>
  70. string(1) "a"
  71. }
  72. [1]=>
  73. array(1) {
  74. [2]=>
  75. string(1) "b"
  76. }
  77. [2]=>
  78. array(1) {
  79. [3]=>
  80. NULL
  81. }
  82. }
  83. array(3) {
  84. [0]=>
  85. array(1) {
  86. [10]=>
  87. float(2.3)
  88. }
  89. [1]=>
  90. array(1) {
  91. [47]=>
  92. float(1240)
  93. }
  94. [2]=>
  95. array(1) {
  96. [26]=>
  97. NULL
  98. }
  99. }
  100. array(3) {
  101. [0]=>
  102. array(1) {
  103. [""]=>
  104. int(1)
  105. }
  106. [1]=>
  107. array(1) {
  108. [""]=>
  109. int(2)
  110. }
  111. [2]=>
  112. array(1) {
  113. [""]=>
  114. int(3)
  115. }
  116. }
  117. Done