1--TEST-- 2Test parse_url() function : usage variations - unexpected type for arg 1. 3--FILE-- 4<?php 5/* Prototype : proto mixed parse_url(string url, [int url_component]) 6 * Description: Parse a URL and return its components 7 * Source code: ext/standard/url.c 8 * Alias to functions: 9 */ 10 11function test_error_handler($err_no, $err_msg, $filename, $linenum, $vars) { 12 echo "Error: $err_no - $err_msg, $filename($linenum)\n"; 13} 14set_error_handler('test_error_handler'); 15 16echo "*** Testing parse_url() : usage variations ***\n"; 17 18//get an unset variable 19$unset_var = 10; 20unset ($unset_var); 21 22//array of values to iterate over 23$values = array( 24 25 // int data 26 0, 27 1, 28 12345, 29 -2345, 30 31 // float data 32 10.5, 33 -10.5, 34 10.1234567e10, 35 10.7654321E-10, 36 .5, 37 38 // array data 39 array(), 40 array(0), 41 array(1), 42 array(1, 2), 43 array('color' => 'red', 'item' => 'pen'), 44 45 // null data 46 NULL, 47 null, 48 49 // boolean data 50 true, 51 false, 52 TRUE, 53 FALSE, 54 55 // empty data 56 "", 57 '', 58 59 // object data 60 new stdclass(), 61 62 // undefined data 63 $undefined_var, 64 65 // unset data 66 $unset_var, 67); 68 69// loop through each element of the array for url 70 71foreach($values as $value) { 72 echo "\nArg value $value \n"; 73 var_dump( parse_url($value) ); 74}; 75 76echo "Done"; 77?> 78--EXPECTF-- 79*** Testing parse_url() : usage variations *** 80Error: 8 - Undefined variable: undefined_var, %s(60) 81Error: 8 - Undefined variable: unset_var, %s(63) 82 83Arg value 0 84array(1) { 85 ["path"]=> 86 string(1) "0" 87} 88 89Arg value 1 90array(1) { 91 ["path"]=> 92 string(1) "1" 93} 94 95Arg value 12345 96array(1) { 97 ["path"]=> 98 string(5) "12345" 99} 100 101Arg value -2345 102array(1) { 103 ["path"]=> 104 string(5) "-2345" 105} 106 107Arg value 10.5 108array(1) { 109 ["path"]=> 110 string(4) "10.5" 111} 112 113Arg value -10.5 114array(1) { 115 ["path"]=> 116 string(5) "-10.5" 117} 118 119Arg value 101234567000 120array(1) { 121 ["path"]=> 122 string(12) "101234567000" 123} 124 125Arg value 1.07654321E-9 126array(1) { 127 ["path"]=> 128 string(13) "1.07654321E-9" 129} 130 131Arg value 0.5 132array(1) { 133 ["path"]=> 134 string(3) "0.5" 135} 136Error: 8 - Array to string conversion, %sparse_url_variation_001.php(%d) 137 138Arg value Array 139Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70) 140NULL 141Error: 8 - Array to string conversion, %sparse_url_variation_001.php(%d) 142 143Arg value Array 144Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70) 145NULL 146Error: 8 - Array to string conversion, %sparse_url_variation_001.php(%d) 147 148Arg value Array 149Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70) 150NULL 151Error: 8 - Array to string conversion, %sparse_url_variation_001.php(%d) 152 153Arg value Array 154Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70) 155NULL 156Error: 8 - Array to string conversion, %sparse_url_variation_001.php(%d) 157 158Arg value Array 159Error: 2 - parse_url() expects parameter 1 to be string, array given, %s(70) 160NULL 161 162Arg value 163array(1) { 164 ["path"]=> 165 string(0) "" 166} 167 168Arg value 169array(1) { 170 ["path"]=> 171 string(0) "" 172} 173 174Arg value 1 175array(1) { 176 ["path"]=> 177 string(1) "1" 178} 179 180Arg value 181array(1) { 182 ["path"]=> 183 string(0) "" 184} 185 186Arg value 1 187array(1) { 188 ["path"]=> 189 string(1) "1" 190} 191 192Arg value 193array(1) { 194 ["path"]=> 195 string(0) "" 196} 197 198Arg value 199array(1) { 200 ["path"]=> 201 string(0) "" 202} 203 204Arg value 205array(1) { 206 ["path"]=> 207 string(0) "" 208} 209Error: 4096 - Object of class stdClass could not be converted to string, %s(69) 210 211Arg value 212Error: 2 - parse_url() expects parameter 1 to be string, object given, %s(70) 213NULL 214 215Arg value 216array(1) { 217 ["path"]=> 218 string(0) "" 219} 220 221Arg value 222array(1) { 223 ["path"]=> 224 string(0) "" 225} 226Done