1--TEST-- 2Test array_filter() function : usage variations - 'input' array containing references 3--FILE-- 4<?php 5/* 6* Passing 'input' array which contains elements as reference to other data 7*/ 8 9echo "*** Testing array_filter() : usage variations - 'input' containing references ***\n"; 10 11function callback($input) 12{ 13 if($input > 5) { 14 return true; 15 } 16 else { 17 return false; 18 } 19} 20 21// initializing variables 22$value1 = array(1, 2, 8); 23$value2 = array(5, 6, 4); 24$input = array(&$value1, 10, &$value2, 'value'); 25 26// with 'callback' argument 27var_dump( array_filter($input, 'callback') ); 28 29// with default 'callback' argument 30var_dump( array_filter($input) ); 31 32echo "Done" 33?> 34--EXPECT-- 35*** Testing array_filter() : usage variations - 'input' containing references *** 36array(4) { 37 [0]=> 38 &array(3) { 39 [0]=> 40 int(1) 41 [1]=> 42 int(2) 43 [2]=> 44 int(8) 45 } 46 [1]=> 47 int(10) 48 [2]=> 49 &array(3) { 50 [0]=> 51 int(5) 52 [1]=> 53 int(6) 54 [2]=> 55 int(4) 56 } 57 [3]=> 58 string(5) "value" 59} 60array(4) { 61 [0]=> 62 &array(3) { 63 [0]=> 64 int(1) 65 [1]=> 66 int(2) 67 [2]=> 68 int(8) 69 } 70 [1]=> 71 int(10) 72 [2]=> 73 &array(3) { 74 [0]=> 75 int(5) 76 [1]=> 77 int(6) 78 [2]=> 79 int(4) 80 } 81 [3]=> 82 string(5) "value" 83} 84Done 85