]> granicus.if.org Git - php/blob
a31d7213a1
[php] /
1 --TEST--
2 Test trim() function
3 --FILE--
4 <?php
5
6 /* Prototype: string trim( string str [,string charlist] )
7  * Strip whitespace (or other characters) from the beginning and end of a string.
8  */
9
10 /* trim with unset/null/boolean variable - returns an empty string */
11 echo "\n";
12 $null_var = NULL;
13 var_dump( trim($null_var) );
14 $null_var = "";
15 var_dump( trim($null_var) );
16 $null_var = 0;
17 var_dump( trim($null_var) );
18 $bool_val = true;
19 var_dump( trim($null_var) );
20
21 /* second argument charlist as null - does not trim any white spaces */
22 var_dump( trim("\ttesting trim", "") );
23 var_dump( trim("  \ttesting trim  ", NULL) );
24 var_dump( trim("\ttesting trim  ", true) );
25
26 /* Use of class and objects */
27 echo "\n*** Testing with OBJECTS ***\n";
28 class string1
29 {
30   public function __toString() {
31     return "Object";
32   }
33 }
34 $obj = new string1;
35 var_dump( trim($obj, "Ot") );
36
37 /* String with embedded NULL */
38 echo "\n*** Testing with String with embedded NULL ***\n";
39 var_dump( trim("\x0n1234\x0005678\x0000efgh\xijkl\x0n1", "\x0n1") );
40
41 /* heredoc string */
42 $str = <<<EOD
43 us
44 ing heredoc string
45 EOD;
46
47 echo "\n*** Testing with heredoc string ***\n";
48 var_dump( trim($str, "us\ning") );
49
50 echo "\nDone";
51 ?>
52 --EXPECT--
53 string(0) ""
54 string(0) ""
55 string(1) "0"
56 string(1) "0"
57 string(13) "    testing trim"
58 string(17) "    testing trim  "
59 string(15) "    testing trim  "
60
61 *** Testing with OBJECTS ***
62 string(4) "bjec"
63
64 *** Testing with String with embedded NULL ***
65 string(22) "234\005678\000efgh\xijkl"
66
67 *** Testing with heredoc string ***
68 string(12) " heredoc str"
69
70 Done