1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
--TEST--
Test str_split() function : usage variations - different integer values for 'split_length' argument
--SKIPIF--
<?php
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
?>
--FILE--
<?php
/* Prototype : array str_split(string $str [, int $split_length])
* Description: Convert a string to an array. If split_length is
specified, break the string down into chunks each
split_length characters long.
* Source code: ext/standard/string.c
* Alias to functions: none
*/
/*
* passing different integer values for 'split_length' argument to str_split()
*/
echo "*** Testing str_split() : different intger values for 'split_length' ***\n";
//Initialise variables
$str = 'This is a string with 123 & escape char \t';
//different values for 'split_length'
$values = array (
0,
1,
-123, //negative integer
0234, //octal number
0x1A, //hexadecimal number
2147483647, //max positive integer number
2147483648, //max positive integer+1
-2147483648, //min negative integer
);
//loop through each element of $values for 'split_length'
for($count = 0; $count < count($values); $count++) {
echo "-- Iteration ".($count + 1)." --\n";
var_dump( str_split($str, $values[$count]) );
}
echo "Done"
?>
--EXPECTF--
*** Testing str_split() : different intger values for 'split_length' ***
-- Iteration 1 --
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d
bool(false)
-- Iteration 2 --
array(42) {
[0]=>
string(1) "T"
[1]=>
string(1) "h"
[2]=>
string(1) "i"
[3]=>
string(1) "s"
[4]=>
string(1) " "
[5]=>
string(1) "i"
[6]=>
string(1) "s"
[7]=>
string(1) " "
[8]=>
string(1) "a"
[9]=>
string(1) " "
[10]=>
string(1) "s"
[11]=>
string(1) "t"
[12]=>
string(1) "r"
[13]=>
string(1) "i"
[14]=>
string(1) "n"
[15]=>
string(1) "g"
[16]=>
string(1) " "
[17]=>
string(1) "w"
[18]=>
string(1) "i"
[19]=>
string(1) "t"
[20]=>
string(1) "h"
[21]=>
string(1) " "
[22]=>
string(1) "1"
[23]=>
string(1) "2"
[24]=>
string(1) "3"
[25]=>
string(1) " "
[26]=>
string(1) "&"
[27]=>
string(1) " "
[28]=>
string(1) "e"
[29]=>
string(1) "s"
[30]=>
string(1) "c"
[31]=>
string(1) "a"
[32]=>
string(1) "p"
[33]=>
string(1) "e"
[34]=>
string(1) " "
[35]=>
string(1) "c"
[36]=>
string(1) "h"
[37]=>
string(1) "a"
[38]=>
string(1) "r"
[39]=>
string(1) " "
[40]=>
string(1) "\"
[41]=>
string(1) "t"
}
-- Iteration 3 --
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d
bool(false)
-- Iteration 4 --
array(1) {
[0]=>
string(42) "This is a string with 123 & escape char \t"
}
-- Iteration 5 --
array(2) {
[0]=>
string(26) "This is a string with 123 "
[1]=>
string(16) "& escape char \t"
}
-- Iteration 6 --
array(1) {
[0]=>
string(42) "This is a string with 123 & escape char \t"
}
-- Iteration 7 --
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d
bool(false)
-- Iteration 8 --
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d
bool(false)
Done
|