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