Return to array_filter_variation8.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_filter() function : usage variations - Callback function with different return values 3: --FILE-- 4: <?php 5: /* Prototype : array array_filter(array $input [, callback $callback]) 6: * Description: Filters elements from the array via the callback. 7: * Source code: ext/standard/array.c 8: */ 9: 10: /* 11: * callback functions are expected to return bool value for array_filter() 12: * here testing callback functions for return values other than bool 13: */ 14: 15: echo "*** Testing array_filter() : usage variations - callback function with different return values***\n"; 16: 17: $input = array(0, 1, -1, 10, 100, 1000, 'Hello', null, true); 18: 19: // callback functions 20: // int as return value 21: function callback1($input) 22: { 23: return 5; 24: } 25: echo "callback function with int return value\n"; 26: var_dump( array_filter($input, 'callback1') ); 27: 28: // float as return value 29: function callback2($input) 30: { 31: return 3.4; 32: } 33: echo "callback function with float return value\n"; 34: var_dump( array_filter($input, 'callback2') ); 35: 36: // string as return value 37: function callback3($input) 38: { 39: return 'value'; 40: } 41: echo "callback function with string return value\n"; 42: var_dump( array_filter($input, 'callback3') ); 43: 44: // null as return value 45: function callback4($input) 46: { 47: return null; 48: } 49: echo "callback function with null return value\n"; 50: var_dump( array_filter($input, 'callback4') ); 51: 52: // array as return value 53: function callback5($input) 54: { 55: return array(8); 56: } 57: echo "callback function with array as return value\n"; 58: var_dump( array_filter($input, 'callback5') ); 59: 60: echo "Done" 61: ?> 62: --EXPECTF-- 63: *** Testing array_filter() : usage variations - callback function with different return values*** 64: callback function with int return value 65: array(9) { 66: [0]=> 67: int(0) 68: [1]=> 69: int(1) 70: [2]=> 71: int(-1) 72: [3]=> 73: int(10) 74: [4]=> 75: int(100) 76: [5]=> 77: int(1000) 78: [6]=> 79: string(5) "Hello" 80: [7]=> 81: NULL 82: [8]=> 83: bool(true) 84: } 85: callback function with float return value 86: array(9) { 87: [0]=> 88: int(0) 89: [1]=> 90: int(1) 91: [2]=> 92: int(-1) 93: [3]=> 94: int(10) 95: [4]=> 96: int(100) 97: [5]=> 98: int(1000) 99: [6]=> 100: string(5) "Hello" 101: [7]=> 102: NULL 103: [8]=> 104: bool(true) 105: } 106: callback function with string return value 107: array(9) { 108: [0]=> 109: int(0) 110: [1]=> 111: int(1) 112: [2]=> 113: int(-1) 114: [3]=> 115: int(10) 116: [4]=> 117: int(100) 118: [5]=> 119: int(1000) 120: [6]=> 121: string(5) "Hello" 122: [7]=> 123: NULL 124: [8]=> 125: bool(true) 126: } 127: callback function with null return value 128: array(0) { 129: } 130: callback function with array as return value 131: array(9) { 132: [0]=> 133: int(0) 134: [1]=> 135: int(1) 136: [2]=> 137: int(-1) 138: [3]=> 139: int(10) 140: [4]=> 141: int(100) 142: [5]=> 143: int(1000) 144: [6]=> 145: string(5) "Hello" 146: [7]=> 147: NULL 148: [8]=> 149: bool(true) 150: } 151: Done