1--TEST-- 2Testing rtrim() function 3--FILE-- 4<?php 5 6/* Testing the Normal behaviour of rtrim() function */ 7 8 echo "\n *** Output for Normal Behaviour ***\n"; 9 var_dump ( rtrim("rtrim test \t\0 ") ); /* without second Argument */ 10 var_dump ( rtrim("rtrim test " , "") ); /* no characters in second Argument */ 11 var_dump ( rtrim("rtrim test ", true) ); /* with boolean value as second Argument */ 12 var_dump ( rtrim("rtrim test ", " ") ); /* with single space as second Argument */ 13 var_dump ( rtrim("rtrim test \t\n\r\0\x0B", "\t\n\r\0\x0B") ); /* with multiple escape sequences as second Argument */ 14 var_dump ( rtrim("rtrim testABCXYZ", "A..Z") ); /* with characters range as second Argument */ 15 var_dump ( rtrim("rtrim test0123456789", "0..9") ); /* with numbers range as second Argument */ 16 var_dump ( rtrim("rtrim test$#@", "#@$") ); /* with some special characters as second Argument */ 17 18 19/* Use of class and objects */ 20echo "\n*** Checking with OBJECTS ***\n"; 21class string1 { 22 public function __toString() { 23 return "Object"; 24 } 25} 26$obj = new string1; 27var_dump( rtrim($obj, "tc") ); 28 29/* String with embedded NULL */ 30echo "\n*** String with embedded NULL ***\n"; 31var_dump( rtrim("234\x0005678\x0000efgh\xijkl\x0n1", "\x0n1") ); 32 33/* heredoc string */ 34$str = <<<EOD 35us 36ing heredoc string 37EOD; 38 39echo "\n *** Using heredoc string ***\n"; 40var_dump( rtrim($str, "ing") ); 41 42echo "Done\n"; 43?> 44--EXPECTF-- 45*** Output for Normal Behaviour *** 46string(10) "rtrim test" 47string(13) "rtrim test " 48string(18) "rtrim test " 49string(10) "rtrim test" 50string(11) "rtrim test " 51string(10) "rtrim test" 52string(10) "rtrim test" 53string(10) "rtrim test" 54 55*** Checking with OBJECTS *** 56string(4) "Obje" 57 58*** String with embedded NULL *** 59string(22) "234%005678%000efgh\xijkl" 60 61 *** Using heredoc string *** 62string(18) "us 63ing heredoc str" 64Done 65