????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 3.148.162.188 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/standard/tests/strings/ |
Upload File : |
--TEST-- Testing substr() function --FILE-- <?php /* Prototype: string substr( string str, int start[, int length] ) * Description: Returns the portion of string specified by the start and length parameters. */ $strings_array = array( NULL, "", 12345, "abcdef", "123abc", "_123abc"); /* Testing for error conditions */ echo "*** Testing for error conditions ***\n"; /* Zero Argument */ var_dump( substr() ); /* NULL as Argument */ var_dump( substr(NULL) ); /* Single Argument */ var_dump( substr("abcde") ); /* Scalar Argument */ var_dump( substr(12345) ); /* more than valid number of arguments ( valid are 2 or 3 ) */ var_dump( substr("abcde", 2, 3, 4) ); $counter = 1; foreach ($strings_array as $str) { /* variations with two arguments */ /* start values >, < and = 0 */ echo ("\n--- Iteration ".$counter." ---\n"); echo ("\n-- Variations for two arguments --\n"); var_dump ( substr($str, 1) ); var_dump ( substr($str, 0) ); var_dump ( substr($str, -2) ); /* variations with three arguments */ /* start value variations with length values */ echo ("\n-- Variations for three arguments --\n"); var_dump ( substr($str, 1, 3) ); var_dump ( substr($str, 1, 0) ); var_dump ( substr($str, 1, -3) ); var_dump ( substr($str, 0, 3) ); var_dump ( substr($str, 0, 0) ); var_dump ( substr($str, 0, -3) ); var_dump ( substr($str, -2, 3) ); var_dump ( substr($str, -2, 0 ) ); var_dump ( substr($str, -2, -3) ); $counter++; } /* variation of start and length to point to same element */ echo ("\n*** Testing for variations of start and length to point to same element ***\n"); var_dump (substr("abcde" , 2, -2) ); var_dump (substr("abcde" , -3, -2) ); /* Testing to return empty string when start denotes the position beyond the truncation (set by negative length) */ echo ("\n*** Testing for start > truncation ***\n"); var_dump (substr("abcdef" , 4, -4) ); /* String with null character */ echo ("\n*** Testing for string with null characters ***\n"); var_dump (substr("abc\x0xy\x0z" ,2) ); /* String with international characters */ echo ("\n*** Testing for string with international characters ***\n"); var_dump (substr('\xIñtërnâtiônàlizætiøn',3) ); /* start <0 && -start > length */ echo "\n*** Start before the first char ***\n"; var_dump (substr("abcd" , -8) ); echo"\nDone"; ?> --EXPECTF-- *** Testing for error conditions *** Warning: substr() expects at least 2 parameters, 0 given in %s on line %d NULL Warning: substr() expects at least 2 parameters, 1 given in %s on line %d NULL Warning: substr() expects at least 2 parameters, 1 given in %s on line %d NULL Warning: substr() expects at least 2 parameters, 1 given in %s on line %d NULL Warning: substr() expects at most 3 parameters, 4 given in %s on line %d NULL --- Iteration 1 --- -- Variations for two arguments -- bool(false) bool(false) bool(false) -- Variations for three arguments -- bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) --- Iteration 2 --- -- Variations for two arguments -- bool(false) bool(false) bool(false) -- Variations for three arguments -- bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) --- Iteration 3 --- -- Variations for two arguments -- string(4) "2345" string(5) "12345" string(2) "45" -- Variations for three arguments -- string(3) "234" string(0) "" string(1) "2" string(3) "123" string(0) "" string(2) "12" string(2) "45" string(0) "" string(0) "" --- Iteration 4 --- -- Variations for two arguments -- string(5) "bcdef" string(6) "abcdef" string(2) "ef" -- Variations for three arguments -- string(3) "bcd" string(0) "" string(2) "bc" string(3) "abc" string(0) "" string(3) "abc" string(2) "ef" string(0) "" string(0) "" --- Iteration 5 --- -- Variations for two arguments -- string(5) "23abc" string(6) "123abc" string(2) "bc" -- Variations for three arguments -- string(3) "23a" string(0) "" string(2) "23" string(3) "123" string(0) "" string(3) "123" string(2) "bc" string(0) "" string(0) "" --- Iteration 6 --- -- Variations for two arguments -- string(6) "123abc" string(7) "_123abc" string(2) "bc" -- Variations for three arguments -- string(3) "123" string(0) "" string(3) "123" string(3) "_12" string(0) "" string(4) "_123" string(2) "bc" string(0) "" string(0) "" *** Testing for variations of start and length to point to same element *** string(1) "c" string(1) "c" *** Testing for start > truncation *** bool(false) *** Testing for string with null characters *** string(6) "c xy z" *** Testing for string with international characters *** string(26) "ñtërnâtiônàlizætiøn" *** Start before the first char *** string(4) "abcd" Done