Annotation of embedaddon/php/ext/standard/tests/array/array_filter_variation6.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_filter() function : usage variations - 'input' array containing references
! 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: * Passing 'input' array which contains elements as reference to other data
! 12: */
! 13:
! 14: echo "*** Testing array_filter() : usage variations - 'input' containing references ***\n";
! 15:
! 16: // Callback function
! 17: /* Prototype : bool callback(array $input)
! 18: * Parameter : $input - array of which each element need to be checked in function
! 19: * Return Type : returns true or false
! 20: * Description : This function checks each element of an input array if element > 5 then
! 21: * returns true else returns false
! 22: */
! 23: function callback($input)
! 24: {
! 25: if($input > 5) {
! 26: return true;
! 27: }
! 28: else {
! 29: return false;
! 30: }
! 31: }
! 32:
! 33: // initializing variables
! 34: $value1 = array(1, 2, 8);
! 35: $value2 = array(5, 6, 4);
! 36: $input = array(&$value1, 10, &$value2, 'value');
! 37:
! 38: // with 'callback' argument
! 39: var_dump( array_filter($input, 'callback') );
! 40:
! 41: // with default 'callback' argument
! 42: var_dump( array_filter($input) );
! 43:
! 44: echo "Done"
! 45: ?>
! 46: --EXPECTF--
! 47: *** Testing array_filter() : usage variations - 'input' containing references ***
! 48: array(3) {
! 49: [0]=>
! 50: &array(3) {
! 51: [0]=>
! 52: int(1)
! 53: [1]=>
! 54: int(2)
! 55: [2]=>
! 56: int(8)
! 57: }
! 58: [1]=>
! 59: int(10)
! 60: [2]=>
! 61: &array(3) {
! 62: [0]=>
! 63: int(5)
! 64: [1]=>
! 65: int(6)
! 66: [2]=>
! 67: int(4)
! 68: }
! 69: }
! 70: array(4) {
! 71: [0]=>
! 72: &array(3) {
! 73: [0]=>
! 74: int(1)
! 75: [1]=>
! 76: int(2)
! 77: [2]=>
! 78: int(8)
! 79: }
! 80: [1]=>
! 81: int(10)
! 82: [2]=>
! 83: &array(3) {
! 84: [0]=>
! 85: int(5)
! 86: [1]=>
! 87: int(6)
! 88: [2]=>
! 89: int(4)
! 90: }
! 91: [3]=>
! 92: string(5) "value"
! 93: }
! 94: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>