Annotation of embedaddon/php/ext/standard/tests/array/array_map_variation13.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_map() function : usage variations - callback function with different return types
! 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 different callback function returning:
! 12: * int, string, bool, null values
! 13: */
! 14:
! 15: echo "*** Testing array_map() : callback with diff return value ***\n";
! 16:
! 17: $array1 = array(1, 2, 3);
! 18: $array2 = array(3, 4, 5);
! 19:
! 20: echo "-- with integer return value --\n";
! 21: function callback_int($a, $b)
! 22: {
! 23: return $a + $b;
! 24: }
! 25: var_dump( array_map('callback_int', $array1, $array2));
! 26:
! 27: echo "-- with string return value --\n";
! 28: function callback_string($a, $b)
! 29: {
! 30: return "$a"."$b";
! 31: }
! 32: var_dump( array_map('callback_string', $array1, $array2));
! 33:
! 34: echo "-- with bool return value --\n";
! 35: function callback_bool($a, $b)
! 36: {
! 37: return TRUE;
! 38: }
! 39: var_dump( array_map('callback_bool', $array1, $array2));
! 40:
! 41: echo "-- with null return value --\n";
! 42: function callback_null($array1)
! 43: {
! 44: return NULL;
! 45: }
! 46: var_dump( array_map('callback_null', $array1));
! 47:
! 48: echo "-- with no return value --\n";
! 49: function callback_without_ret($arr1)
! 50: {
! 51: echo "callback_without_ret called\n";
! 52: }
! 53: var_dump( array_map('callback_without_ret', $array1));
! 54:
! 55: echo "Done";
! 56: ?>
! 57: --EXPECTF--
! 58: *** Testing array_map() : callback with diff return value ***
! 59: -- with integer return value --
! 60: array(3) {
! 61: [0]=>
! 62: int(4)
! 63: [1]=>
! 64: int(6)
! 65: [2]=>
! 66: int(8)
! 67: }
! 68: -- with string return value --
! 69: array(3) {
! 70: [0]=>
! 71: string(2) "13"
! 72: [1]=>
! 73: string(2) "24"
! 74: [2]=>
! 75: string(2) "35"
! 76: }
! 77: -- with bool return value --
! 78: array(3) {
! 79: [0]=>
! 80: bool(true)
! 81: [1]=>
! 82: bool(true)
! 83: [2]=>
! 84: bool(true)
! 85: }
! 86: -- with null return value --
! 87: array(3) {
! 88: [0]=>
! 89: NULL
! 90: [1]=>
! 91: NULL
! 92: [2]=>
! 93: NULL
! 94: }
! 95: -- with no return value --
! 96: callback_without_ret called
! 97: callback_without_ret called
! 98: callback_without_ret called
! 99: array(3) {
! 100: [0]=>
! 101: NULL
! 102: [1]=>
! 103: NULL
! 104: [2]=>
! 105: NULL
! 106: }
! 107: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>