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