1--TEST--
2Test split() function : usage variations  - unexpected type for arg 2
3--FILE--
4<?php
5/* Prototype  : proto array split(string pattern, string string [, int limit])
6 * Description: Split string into array by regular expression
7 * Source code: ext/standard/reg.c
8 * Alias to functions:
9 */
10
11function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) {
12	echo "Error: $err_no - $err_msg, $filename($linenum)\n";
13}
14set_error_handler('test_error_handler');
15
16echo "*** Testing split() : usage variations ***\n";
17
18// Initialise function arguments not being substituted (if any)
19$pattern = 'r|j|E';
20$limit = 5;
21
22//get an unset variable
23$unset_var = 10;
24unset ($unset_var);
25
26//array of values to iterate over
27$values = array(
28
29      // int data
30      0,
31      1,
32      12345,
33      -2345,
34
35      // float data
36      10.5,
37      -10.5,
38      10.1234567e10,
39      10.7654321E-10,
40      .5,
41
42      // array data
43      array(),
44      array(0),
45      array(1),
46      array(1, 2),
47      array('color' => 'red', 'item' => 'pen'),
48
49      // null data
50      NULL,
51      null,
52
53      // boolean data
54      true,
55      false,
56      TRUE,
57      FALSE,
58
59      // empty data
60      "",
61      '',
62
63      // object data
64      new stdclass(),
65
66      // undefined data
67      $undefined_var,
68
69      // unset data
70      $unset_var,
71);
72
73// loop through each element of the array for string
74
75foreach($values as $value) {
76      echo "\nArg value $value \n";
77      var_dump( split($pattern, $value, $limit) );
78};
79
80echo "Done";
81?>
82--EXPECTF--
83*** Testing split() : usage variations ***
84Error: 8 - Undefined variable: undefined_var, %s(64)
85Error: 8 - Undefined variable: unset_var, %s(67)
86
87Arg value 0
88Error: 8192 - Function split() is deprecated, %s(74)
89array(1) {
90  [0]=>
91  string(1) "0"
92}
93
94Arg value 1
95Error: 8192 - Function split() is deprecated, %s(74)
96array(1) {
97  [0]=>
98  string(1) "1"
99}
100
101Arg value 12345
102Error: 8192 - Function split() is deprecated, %s(74)
103array(1) {
104  [0]=>
105  string(5) "12345"
106}
107
108Arg value -2345
109Error: 8192 - Function split() is deprecated, %s(74)
110array(1) {
111  [0]=>
112  string(5) "-2345"
113}
114
115Arg value 10.5
116Error: 8192 - Function split() is deprecated, %s(74)
117array(1) {
118  [0]=>
119  string(4) "10.5"
120}
121
122Arg value -10.5
123Error: 8192 - Function split() is deprecated, %s(74)
124array(1) {
125  [0]=>
126  string(5) "-10.5"
127}
128
129Arg value 101234567000
130Error: 8192 - Function split() is deprecated, %s(74)
131array(1) {
132  [0]=>
133  string(12) "101234567000"
134}
135
136Arg value 1.07654321E-9
137Error: 8192 - Function split() is deprecated, %s(74)
138array(2) {
139  [0]=>
140  string(10) "1.07654321"
141  [1]=>
142  string(2) "-9"
143}
144
145Arg value 0.5
146Error: 8192 - Function split() is deprecated, %s(74)
147array(1) {
148  [0]=>
149  string(3) "0.5"
150}
151
152Arg value Array
153Error: 8192 - Function split() is deprecated, %s(74)
154Error: 2 - split() expects parameter 2 to be string, array given, %s(74)
155NULL
156
157Arg value Array
158Error: 8192 - Function split() is deprecated, %s(74)
159Error: 2 - split() expects parameter 2 to be string, array given, %s(74)
160NULL
161
162Arg value Array
163Error: 8192 - Function split() is deprecated, %s(74)
164Error: 2 - split() expects parameter 2 to be string, array given, %s(74)
165NULL
166
167Arg value Array
168Error: 8192 - Function split() is deprecated, %s(74)
169Error: 2 - split() expects parameter 2 to be string, array given, %s(74)
170NULL
171
172Arg value Array
173Error: 8192 - Function split() is deprecated, %s(74)
174Error: 2 - split() expects parameter 2 to be string, array given, %s(74)
175NULL
176
177Arg value
178Error: 8192 - Function split() is deprecated, %s(74)
179array(1) {
180  [0]=>
181  string(0) ""
182}
183
184Arg value
185Error: 8192 - Function split() is deprecated, %s(74)
186array(1) {
187  [0]=>
188  string(0) ""
189}
190
191Arg value 1
192Error: 8192 - Function split() is deprecated, %s(74)
193array(1) {
194  [0]=>
195  string(1) "1"
196}
197
198Arg value
199Error: 8192 - Function split() is deprecated, %s(74)
200array(1) {
201  [0]=>
202  string(0) ""
203}
204
205Arg value 1
206Error: 8192 - Function split() is deprecated, %s(74)
207array(1) {
208  [0]=>
209  string(1) "1"
210}
211
212Arg value
213Error: 8192 - Function split() is deprecated, %s(74)
214array(1) {
215  [0]=>
216  string(0) ""
217}
218
219Arg value
220Error: 8192 - Function split() is deprecated, %s(74)
221array(1) {
222  [0]=>
223  string(0) ""
224}
225
226Arg value
227Error: 8192 - Function split() is deprecated, %s(74)
228array(1) {
229  [0]=>
230  string(0) ""
231}
232Error: 4096 - Object of class stdClass could not be converted to string, %s(73)
233
234Arg value
235Error: 8192 - Function split() is deprecated, %s(74)
236Error: 2 - split() expects parameter 2 to be string, object given, %s(74)
237NULL
238
239Arg value
240Error: 8192 - Function split() is deprecated, %s(74)
241array(1) {
242  [0]=>
243  string(0) ""
244}
245
246Arg value
247Error: 8192 - Function split() is deprecated, %s(74)
248array(1) {
249  [0]=>
250  string(0) ""
251}
252Done
253