Return to str_split_variation5.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test str_split() function : usage variations - different heredoc strings as 'str' argument 3: --FILE-- 4: <?php 5: /* Prototype : array str_split(string $str [, int $split_length] ) 6: * Description: Convert a string to an array. If split_length is 7: specified, break the string down into chunks each 8: split_length characters long. 9: * Source code: ext/standard/string.c 10: * Alias to functions: none 11: */ 12: 13: /* 14: * Passing different heredoc strings as 'str' argument to the str_split() 15: * with 'split_length' 10 16: */ 17: 18: echo "*** Testing str_split() : heredoc strings as 'str' argument ***\n"; 19: 20: // Initializing required variables 21: $split_length = 10; 22: 23: // Null heredoc string 24: $heredoc_null = <<<EOT1 25: EOT1; 26: 27: // heredoc string with single character 28: $heredoc_char = <<<EOT2 29: a 30: EOT2; 31: 32: // simple heredoc string 33: $heredoc_str = <<<EOT3 34: This is simple heredoc string 35: EOT3; 36: 37: // heredoc with special characters 38: $heredoc_spchar = <<<EOT4 39: This checks heredoc with $, %, &, chars 40: EOT4; 41: 42: // blank heredoc string 43: $heredoc_blank = <<<EOT5 44: 45: EOT5; 46: 47: // heredoc with different white space characters 48: $heredoc_escchar = <<<EOT6 49: This checks\t str_split()\nEscape\rchars 50: EOT6; 51: 52: // heredoc with multiline 53: $heredoc_multiline= <<<EOT7 54: This is to check str_split 55: function with multiline 56: heredoc 57: EOT7; 58: 59: // heredoc with quotes and slashes 60: $heredoc_quote_slash = <<<EOT8 61: "To check " in heredoc" 62: I'm sure it'll work also with \ 63: which is single slash 64: EOT8; 65: 66: //different heredoc strings for 'str' 67: $heredoc_array = array( 68: $heredoc_null, 69: $heredoc_blank, 70: $heredoc_char, 71: $heredoc_str, 72: $heredoc_multiline, 73: $heredoc_spchar, 74: $heredoc_escchar, 75: $heredoc_quote_slash 76: ); 77: 78: 79: // loop through each element of the 'heredoc_array' for 'str' 80: $count = 0; 81: foreach($heredoc_array as $str) { 82: echo "-- Iteration ".($count+1). " --\n"; 83: var_dump( str_split($str, $split_length) ); 84: $count++; 85: }; 86: 87: echo "Done" 88: ?> 89: --EXPECTF-- 90: *** Testing str_split() : heredoc strings as 'str' argument *** 91: -- Iteration 1 -- 92: array(1) { 93: [0]=> 94: string(0) "" 95: } 96: -- Iteration 2 -- 97: array(1) { 98: [0]=> 99: string(0) "" 100: } 101: -- Iteration 3 -- 102: array(1) { 103: [0]=> 104: string(1) "a" 105: } 106: -- Iteration 4 -- 107: array(3) { 108: [0]=> 109: string(10) "This is si" 110: [1]=> 111: string(10) "mple hered" 112: [2]=> 113: string(9) "oc string" 114: } 115: -- Iteration 5 -- 116: array(6) { 117: [0]=> 118: string(10) "This is to" 119: [1]=> 120: string(10) " check str" 121: [2]=> 122: string(10) "_split 123: fun" 124: [3]=> 125: string(10) "ction with" 126: [4]=> 127: string(10) " multiline" 128: [5]=> 129: string(8) " 130: heredoc" 131: } 132: -- Iteration 6 -- 133: array(4) { 134: [0]=> 135: string(10) "This check" 136: [1]=> 137: string(10) "s heredoc " 138: [2]=> 139: string(10) "with $, %," 140: [3]=> 141: string(9) " &, chars" 142: } 143: -- Iteration 7 -- 144: array(4) { 145: [0]=> 146: string(10) "This check" 147: [1]=> 148: string(10) "s str_spl" 149: [2]=> 150: string(10) "it() 151: Escap" 152: [3]=> 153: string(7) "e chars" 154: } 155: -- Iteration 8 -- 156: array(8) { 157: [0]=> 158: string(10) ""To check " 159: [1]=> 160: string(10) "" in hered" 161: [2]=> 162: string(10) "oc" 163: I'm su" 164: [3]=> 165: string(10) "re it'll w" 166: [4]=> 167: string(10) "ork also w" 168: [5]=> 169: string(10) "ith \ 170: whic" 171: [6]=> 172: string(10) "h is singl" 173: [7]=> 174: string(7) "e slash" 175: } 176: Done