Return to strncmp_variation5.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test strncmp() function : usage variations - different lengths(all types) 3: --FILE-- 4: <?php 5: /* Prototype : int strncmp ( string $str1, string $str2, int $len ); 6: * Description: Binary safe case-sensitive string comparison of the first n characters 7: * Source code: Zend/zend_builtin_functions.c 8: */ 9: 10: /* Test strncmp() function with the length as all types, and giving the same strings for 'str1' and 'str2' */ 11: 12: echo "*** Test strncmp() function: by supplying all types for 'len' ***\n"; 13: 14: /* definition of required variables */ 15: $str1 = "Hello, World\n"; 16: $str2 = "Hello, World\n"; 17: 18: /* get an unset variable */ 19: $unset_var = 'string_val'; 20: unset($unset_var); 21: 22: /* get resource handle */ 23: $file_handle = fopen(__FILE__, "r"); 24: 25: /* declaring a class */ 26: class sample { 27: public function __toString() { 28: return "object"; 29: } 30: } 31: 32: 33: /* array with different values */ 34: $lengths = array ( 35: /* integer values */ 36: 0, 37: 1, 38: 12345, 39: 40: /* float values */ 41: 10.5, 42: 10.5e10, 43: 10.6E-10, 44: .5, 45: 46: /* hexadecimal values */ 47: 0x12, 48: 49: /* octal values */ 50: 012, 51: 01.2, 52: 53: /* array values */ 54: array(), 55: array(0), 56: array(1), 57: array(1, 2), 58: array('color' => 'red', 'item' => 'pen'), 59: 60: /* boolean values */ 61: true, 62: false, 63: TRUE, 64: FALSE, 65: 66: /* nulls */ 67: NULL, 68: null, 69: 70: /* empty string */ 71: "", 72: '', 73: 74: /* undefined variable */ 75: $undefined_var, 76: 77: /* unset variable */ 78: $unset_var, 79: 80: /* resource */ 81: $file_handle, 82: 83: /* object */ 84: new sample() 85: ); 86: 87: /* loop through each element of the array and check the working of strncmp() */ 88: $counter = 1; 89: for($index = 0; $index < count($lengths); $index ++) { 90: $len = $lengths[$index]; 91: echo "-- Iteration $counter --\n"; 92: var_dump( strncmp($str1, $str2, $len) ); 93: $counter ++; 94: } 95: fclose($file_handle); 96: 97: echo "*** Done ***\n"; 98: ?> 99: --EXPECTF-- 100: *** Test strncmp() function: by supplying all types for 'len' *** 101: 102: Notice: Undefined variable: undefined_var in %s on line %d 103: 104: Notice: Undefined variable: unset_var in %s on line %d 105: -- Iteration 1 -- 106: int(0) 107: -- Iteration 2 -- 108: int(0) 109: -- Iteration 3 -- 110: int(0) 111: -- Iteration 4 -- 112: int(0) 113: -- Iteration 5 -- 114: int(0) 115: -- Iteration 6 -- 116: int(0) 117: -- Iteration 7 -- 118: int(0) 119: -- Iteration 8 -- 120: int(0) 121: -- Iteration 9 -- 122: int(0) 123: -- Iteration 10 -- 124: int(0) 125: -- Iteration 11 -- 126: 127: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d 128: NULL 129: -- Iteration 12 -- 130: 131: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d 132: NULL 133: -- Iteration 13 -- 134: 135: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d 136: NULL 137: -- Iteration 14 -- 138: 139: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d 140: NULL 141: -- Iteration 15 -- 142: 143: Warning: strncmp() expects parameter 3 to be long, array given in%s on line %d 144: NULL 145: -- Iteration 16 -- 146: int(0) 147: -- Iteration 17 -- 148: int(0) 149: -- Iteration 18 -- 150: int(0) 151: -- Iteration 19 -- 152: int(0) 153: -- Iteration 20 -- 154: int(0) 155: -- Iteration 21 -- 156: int(0) 157: -- Iteration 22 -- 158: 159: Warning: strncmp() expects parameter 3 to be long, string given in%s on line %d 160: NULL 161: -- Iteration 23 -- 162: 163: Warning: strncmp() expects parameter 3 to be long, string given in%s on line %d 164: NULL 165: -- Iteration 24 -- 166: int(0) 167: -- Iteration 25 -- 168: int(0) 169: -- Iteration 26 -- 170: 171: Warning: strncmp() expects parameter 3 to be long, resource given in%s on line %d 172: NULL 173: -- Iteration 27 -- 174: 175: Warning: strncmp() expects parameter 3 to be long, object given in%s on line %d 176: NULL 177: *** Done ***