1--TEST--
2Test array_filter() function : usage variations - built-in functions as 'callback' argument
3--FILE--
4<?php
5/*
6* Passing built-in functions and different language constructs as 'callback' argument
7*/
8
9echo "*** Testing array_filter() : usage variations - built-in functions as 'callback' argument ***\n";
10
11$input = array(0, 1, -1, 10, 100, 1000);
12
13// using built-in function 'is_int' as 'callback'
14var_dump( array_filter($input, 'is_int') );
15
16// using built-in function 'chr' as 'callback'
17var_dump( array_filter($input, 'chr') );
18
19// using language construct 'echo' as 'callback'
20try {
21    var_dump( array_filter($input, 'echo') );
22} catch (TypeError $e) {
23    echo $e->getMessage(), "\n";
24}
25
26// using language construct 'exit' as 'callback'
27try {
28    var_dump( array_filter($input, 'exit') );
29} catch (TypeError $e) {
30    echo $e->getMessage(), "\n";
31}
32
33echo "Done"
34?>
35--EXPECT--
36*** Testing array_filter() : usage variations - built-in functions as 'callback' argument ***
37array(6) {
38  [0]=>
39  int(0)
40  [1]=>
41  int(1)
42  [2]=>
43  int(-1)
44  [3]=>
45  int(10)
46  [4]=>
47  int(100)
48  [5]=>
49  int(1000)
50}
51array(6) {
52  [0]=>
53  int(0)
54  [1]=>
55  int(1)
56  [2]=>
57  int(-1)
58  [3]=>
59  int(10)
60  [4]=>
61  int(100)
62  [5]=>
63  int(1000)
64}
65array_filter(): Argument #2 ($callback) must be a valid callback or null, function "echo" not found or invalid function name
66array_filter(): Argument #2 ($callback) must be a valid callback or null, function "exit" not found or invalid function name
67Done
68