1--TEST--
2Test explode() function : usage variations - misc tests
3--FILE--
4<?php
5
6/* Prototype  : array explode  ( string $delimiter  , string $string  [, int $limit  ] )
7 * Description: Split a string by string.
8 * Source code: ext/standard/string.c
9*/
10
11echo "*** Testing explode() function: misc tests ***\n";
12
13$str = "one\x00two\x00three\x00four";
14
15echo "\n-- positive limit with null separator --\n";
16$e = test_explode("\x00", $str, 2);
17
18echo "\n-- negative limit (since PHP 5.1) with null separator --\n";
19$e = test_explode("\x00", $str, -2);
20
21echo "\n-- unknown string --\n";
22$e = test_explode("fred", $str,1);
23
24echo "\n-- limit = 0 --\n";
25$e = test_explode("\x00", $str, 0);
26
27echo "\n-- limit = -1 --\n";
28$e = test_explode("\x00", $str, -1);
29
30echo "\n-- large limit = -100 --\n";
31$e = test_explode("\x00", $str, 100);
32
33function test_explode($delim, $string, $limit)
34{
35	$e = explode($delim, $string, $limit);
36	foreach ( $e as $v)
37	{
38		var_dump(bin2hex($v));
39	}
40}
41?>
42===DONE===
43--EXPECT--
44*** Testing explode() function: misc tests ***
45
46-- positive limit with null separator --
47string(6) "6f6e65"
48string(28) "74776f00746872656500666f7572"
49
50-- negative limit (since PHP 5.1) with null separator --
51string(6) "6f6e65"
52string(6) "74776f"
53
54-- unknown string --
55string(36) "6f6e650074776f00746872656500666f7572"
56
57-- limit = 0 --
58string(36) "6f6e650074776f00746872656500666f7572"
59
60-- limit = -1 --
61string(6) "6f6e65"
62string(6) "74776f"
63string(10) "7468726565"
64
65-- large limit = -100 --
66string(6) "6f6e65"
67string(6) "74776f"
68string(10) "7468726565"
69string(8) "666f7572"
70===DONE===
71