1--TEST-- 2strcmp() function 3--INI-- 4precision = 12 5--FILE-- 6<?php 7/* Compares two strings in case-sensitive manner */ 8 9echo "#### Basic and Possible operations ####"; 10/* creating an array of strings to be compared */ 11$arrays = array( 12 array("a", "A", 'a', 'A', chr(128), chr(255), chr(256)), 13 array("acc", "Acc", 'ac', "accc", 'acd', "?acc", 'acc!', "$!acc", ";acc"), 14 array("1", "0", 0, "-1", -1, "", TRUE, FALSE, "string"), 15 array(10.5, 1.5, 9.5, 11.5, 100.5, 10.5E1, -10.5, 10, 0.5) 16 ); 17 18/* loop through to go each and every element in an array 19 and comparing the elements with one and other */ 20foreach($arrays as $str1_arr){ 21 echo "\n*** comparing the strings in an \n"; 22 print_r($str1_arr); 23 for ($i=0; $i<count($str1_arr); $i++){ 24 echo "\nIteration $i\n"; 25 for($j=0; $j<count($str1_arr); $j++){ 26 echo "- strcmp of '$str1_arr[$i]' and '$str1_arr[$j]' is => "; 27 var_dump(strcmp($str1_arr[$i], $str1_arr[$j])); 28 } 29 } 30} 31 32 33 34echo "\n#### Testing miscellaneous inputs ####\n"; 35 36echo "--- Testing objects ---\n"; 37/* we get "Recoverable fatal error: saying Object of class could not be converted 38 to string" by default, when an object is passed instead of string. 39The error can be avoided by choosing the __toString magix method as follows: */ 40 41class string1 { 42 function __toString() { 43 return "Hello, world"; 44 } 45} 46$obj_string1 = new string1; 47 48class string2 { 49 function __toString() { 50 return "Hello, world\0"; 51 } 52} 53$obj_string2 = new string2; 54 55var_dump(strcmp("$obj_string1", "$obj_string2")); 56 57 58echo "\n--- Testing arrays ---\n"; 59$str_arr = array("hello", "?world", "!$%**()%**[][[[&@#~!"); 60var_dump(strcmp("hello?world,!$%**()%**[][[[&@#~!", "$str_arr[1]")); 61var_dump(strcmp("hello?world,!$%**()%**[][[[&@#~!", "$str_arr[2]")); 62 63 64echo "\n--- Testing a longer and heredoc string ---\n"; 65$string = <<<EOD 66abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 67abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 68abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 69abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 70abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 71abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 72abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 73@#$%^&**&^%$#@!~:())))((((&&&**%$###@@@!!!~~~~@###$%^&* 74abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789 75EOD; 76var_dump(strcmp($string, $string)); 77var_dump(strcmp($string, "xyz0123456789")); 78var_dump(strcmp($string, "&&&")); 79 80echo "\n--- Testing a heredoc null string ---\n"; 81$str = <<<EOD 82EOD; 83var_dump(strcmp($str, "\0")); 84var_dump(strcmp($str, "0")); 85 86 87echo "\n--- Testing simple and complex syntax strings ---\n"; 88$str = 'world'; 89 90/* Simple syntax */ 91var_dump(strcmp("Hello, world", "$str")); 92var_dump(strcmp("Hello, world'S", "$str'S")); 93var_dump(strcmp("Hello, worldS", "$strS")); 94 95/* String with curly braces, complex syntax */ 96var_dump(strcmp("Hello, worldS", "${str}S")); 97var_dump(strcmp("Hello, worldS", "{$str}S")); 98 99echo "\n--- Testing binary safe and binary chars ---\n"; 100var_dump(strcmp("Hello\0world", "Hello")); 101var_dump(strcmp("Hello\0world", "Helloworld")); 102var_dump(strcmp("\x0", "\0")); 103var_dump(strcmp("\000", "\0")); 104var_dump(strcmp("\x00", "")); 105 106echo "\n--- Comparing long float values ---\n"; 107/* Here two different outputs, which depends on the rounding value 108 before converting to string. Here Precision = 12 */ 109var_dump(strcmp(10.55555555555555555555555555, 10.5555555556)); // int(0) 110var_dump(strcmp(10.55555555555555555555555555, 10.555555556)); // int(-1) 111var_dump(strcmp(10.55555555595555555555555555, 10.555555556)); // int(0) 112 113echo "Done\n"; 114?> 115--EXPECTF-- 116Deprecated: Using ${var} in strings is deprecated, use {$var} instead in %s on line %d 117#### Basic and Possible operations #### 118*** comparing the strings in an 119Array 120( 121 [0] => a 122 [1] => A 123 [2] => a 124 [3] => A 125 [4] => � 126 [5] => � 127 [6] => %0 128) 129 130Iteration 0 131- strcmp of 'a' and 'a' is => int(0) 132- strcmp of 'a' and 'A' is => int(%d) 133- strcmp of 'a' and 'a' is => int(0) 134- strcmp of 'a' and 'A' is => int(%d) 135- strcmp of 'a' and '�' is => int(-%d) 136- strcmp of 'a' and '�' is => int(-%d) 137- strcmp of 'a' and '%0' is => int(%d) 138 139Iteration 1 140- strcmp of 'A' and 'a' is => int(-%d) 141- strcmp of 'A' and 'A' is => int(0) 142- strcmp of 'A' and 'a' is => int(-%d) 143- strcmp of 'A' and 'A' is => int(0) 144- strcmp of 'A' and '�' is => int(-%d) 145- strcmp of 'A' and '�' is => int(-%d) 146- strcmp of 'A' and '%0' is => int(%d) 147 148Iteration 2 149- strcmp of 'a' and 'a' is => int(0) 150- strcmp of 'a' and 'A' is => int(%d) 151- strcmp of 'a' and 'a' is => int(0) 152- strcmp of 'a' and 'A' is => int(%d) 153- strcmp of 'a' and '�' is => int(-%d) 154- strcmp of 'a' and '�' is => int(-%d) 155- strcmp of 'a' and '%0' is => int(%d) 156 157Iteration 3 158- strcmp of 'A' and 'a' is => int(-%d) 159- strcmp of 'A' and 'A' is => int(0) 160- strcmp of 'A' and 'a' is => int(-%d) 161- strcmp of 'A' and 'A' is => int(0) 162- strcmp of 'A' and '�' is => int(-%d) 163- strcmp of 'A' and '�' is => int(-%d) 164- strcmp of 'A' and '%0' is => int(%d) 165 166Iteration 4 167- strcmp of '�' and 'a' is => int(%d) 168- strcmp of '�' and 'A' is => int(%d) 169- strcmp of '�' and 'a' is => int(%d) 170- strcmp of '�' and 'A' is => int(%d) 171- strcmp of '�' and '�' is => int(0) 172- strcmp of '�' and '�' is => int(-%d) 173- strcmp of '�' and '%0' is => int(%d) 174 175Iteration 5 176- strcmp of '�' and 'a' is => int(%d) 177- strcmp of '�' and 'A' is => int(%d) 178- strcmp of '�' and 'a' is => int(%d) 179- strcmp of '�' and 'A' is => int(%d) 180- strcmp of '�' and '�' is => int(%d) 181- strcmp of '�' and '�' is => int(0) 182- strcmp of '�' and '%0' is => int(%d) 183 184Iteration 6 185- strcmp of '%0' and 'a' is => int(-%d) 186- strcmp of '%0' and 'A' is => int(-%d) 187- strcmp of '%0' and 'a' is => int(-%d) 188- strcmp of '%0' and 'A' is => int(-%d) 189- strcmp of '%0' and '�' is => int(-%d) 190- strcmp of '%0' and '�' is => int(-%d) 191- strcmp of '%0' and '%0' is => int(0) 192 193*** comparing the strings in an 194Array 195( 196 [0] => acc 197 [1] => Acc 198 [2] => ac 199 [3] => accc 200 [4] => acd 201 [5] => ?acc 202 [6] => acc! 203 [7] => $!acc 204 [8] => ;acc 205) 206 207Iteration 0 208- strcmp of 'acc' and 'acc' is => int(0) 209- strcmp of 'acc' and 'Acc' is => int(%d) 210- strcmp of 'acc' and 'ac' is => int(%d) 211- strcmp of 'acc' and 'accc' is => int(-%d) 212- strcmp of 'acc' and 'acd' is => int(-%d) 213- strcmp of 'acc' and '?acc' is => int(%d) 214- strcmp of 'acc' and 'acc!' is => int(-%d) 215- strcmp of 'acc' and '$!acc' is => int(%d) 216- strcmp of 'acc' and ';acc' is => int(%d) 217 218Iteration 1 219- strcmp of 'Acc' and 'acc' is => int(-%d) 220- strcmp of 'Acc' and 'Acc' is => int(0) 221- strcmp of 'Acc' and 'ac' is => int(-%d) 222- strcmp of 'Acc' and 'accc' is => int(-%d) 223- strcmp of 'Acc' and 'acd' is => int(-%d) 224- strcmp of 'Acc' and '?acc' is => int(%d) 225- strcmp of 'Acc' and 'acc!' is => int(-%d) 226- strcmp of 'Acc' and '$!acc' is => int(%d) 227- strcmp of 'Acc' and ';acc' is => int(%d) 228 229Iteration 2 230- strcmp of 'ac' and 'acc' is => int(-%d) 231- strcmp of 'ac' and 'Acc' is => int(%d) 232- strcmp of 'ac' and 'ac' is => int(0) 233- strcmp of 'ac' and 'accc' is => int(-%d) 234- strcmp of 'ac' and 'acd' is => int(-%d) 235- strcmp of 'ac' and '?acc' is => int(%d) 236- strcmp of 'ac' and 'acc!' is => int(-%d) 237- strcmp of 'ac' and '$!acc' is => int(%d) 238- strcmp of 'ac' and ';acc' is => int(%d) 239 240Iteration 3 241- strcmp of 'accc' and 'acc' is => int(%d) 242- strcmp of 'accc' and 'Acc' is => int(%d) 243- strcmp of 'accc' and 'ac' is => int(%d) 244- strcmp of 'accc' and 'accc' is => int(0) 245- strcmp of 'accc' and 'acd' is => int(-%d) 246- strcmp of 'accc' and '?acc' is => int(%d) 247- strcmp of 'accc' and 'acc!' is => int(%d) 248- strcmp of 'accc' and '$!acc' is => int(%d) 249- strcmp of 'accc' and ';acc' is => int(%d) 250 251Iteration 4 252- strcmp of 'acd' and 'acc' is => int(%d) 253- strcmp of 'acd' and 'Acc' is => int(%d) 254- strcmp of 'acd' and 'ac' is => int(%d) 255- strcmp of 'acd' and 'accc' is => int(%d) 256- strcmp of 'acd' and 'acd' is => int(0) 257- strcmp of 'acd' and '?acc' is => int(%d) 258- strcmp of 'acd' and 'acc!' is => int(%d) 259- strcmp of 'acd' and '$!acc' is => int(%d) 260- strcmp of 'acd' and ';acc' is => int(%d) 261 262Iteration 5 263- strcmp of '?acc' and 'acc' is => int(-%d) 264- strcmp of '?acc' and 'Acc' is => int(-%d) 265- strcmp of '?acc' and 'ac' is => int(-%d) 266- strcmp of '?acc' and 'accc' is => int(-%d) 267- strcmp of '?acc' and 'acd' is => int(-%d) 268- strcmp of '?acc' and '?acc' is => int(0) 269- strcmp of '?acc' and 'acc!' is => int(-%d) 270- strcmp of '?acc' and '$!acc' is => int(%d) 271- strcmp of '?acc' and ';acc' is => int(%d) 272 273Iteration 6 274- strcmp of 'acc!' and 'acc' is => int(%d) 275- strcmp of 'acc!' and 'Acc' is => int(%d) 276- strcmp of 'acc!' and 'ac' is => int(%d) 277- strcmp of 'acc!' and 'accc' is => int(-%d) 278- strcmp of 'acc!' and 'acd' is => int(-%d) 279- strcmp of 'acc!' and '?acc' is => int(%d) 280- strcmp of 'acc!' and 'acc!' is => int(0) 281- strcmp of 'acc!' and '$!acc' is => int(%d) 282- strcmp of 'acc!' and ';acc' is => int(%d) 283 284Iteration 7 285- strcmp of '$!acc' and 'acc' is => int(-%d) 286- strcmp of '$!acc' and 'Acc' is => int(-%d) 287- strcmp of '$!acc' and 'ac' is => int(-%d) 288- strcmp of '$!acc' and 'accc' is => int(-%d) 289- strcmp of '$!acc' and 'acd' is => int(-%d) 290- strcmp of '$!acc' and '?acc' is => int(-%d) 291- strcmp of '$!acc' and 'acc!' is => int(-%d) 292- strcmp of '$!acc' and '$!acc' is => int(0) 293- strcmp of '$!acc' and ';acc' is => int(-%d) 294 295Iteration 8 296- strcmp of ';acc' and 'acc' is => int(-%d) 297- strcmp of ';acc' and 'Acc' is => int(-%d) 298- strcmp of ';acc' and 'ac' is => int(-%d) 299- strcmp of ';acc' and 'accc' is => int(-%d) 300- strcmp of ';acc' and 'acd' is => int(-%d) 301- strcmp of ';acc' and '?acc' is => int(-%d) 302- strcmp of ';acc' and 'acc!' is => int(-%d) 303- strcmp of ';acc' and '$!acc' is => int(%d) 304- strcmp of ';acc' and ';acc' is => int(0) 305 306*** comparing the strings in an 307Array 308( 309 [0] => 1 310 [1] => 0 311 [2] => 0 312 [3] => -1 313 [4] => -1 314 [5] => 315 [6] => 1 316 [7] => 317 [8] => string 318) 319 320Iteration 0 321- strcmp of '1' and '1' is => int(0) 322- strcmp of '1' and '0' is => int(%d) 323- strcmp of '1' and '0' is => int(%d) 324- strcmp of '1' and '-1' is => int(%d) 325- strcmp of '1' and '-1' is => int(%d) 326- strcmp of '1' and '' is => int(%d) 327- strcmp of '1' and '1' is => int(0) 328- strcmp of '1' and '' is => int(%d) 329- strcmp of '1' and 'string' is => int(-%d) 330 331Iteration 1 332- strcmp of '0' and '1' is => int(-%d) 333- strcmp of '0' and '0' is => int(0) 334- strcmp of '0' and '0' is => int(0) 335- strcmp of '0' and '-1' is => int(%d) 336- strcmp of '0' and '-1' is => int(%d) 337- strcmp of '0' and '' is => int(%d) 338- strcmp of '0' and '1' is => int(-%d) 339- strcmp of '0' and '' is => int(%d) 340- strcmp of '0' and 'string' is => int(-%d) 341 342Iteration 2 343- strcmp of '0' and '1' is => int(-%d) 344- strcmp of '0' and '0' is => int(0) 345- strcmp of '0' and '0' is => int(0) 346- strcmp of '0' and '-1' is => int(%d) 347- strcmp of '0' and '-1' is => int(%d) 348- strcmp of '0' and '' is => int(%d) 349- strcmp of '0' and '1' is => int(-%d) 350- strcmp of '0' and '' is => int(%d) 351- strcmp of '0' and 'string' is => int(-%d) 352 353Iteration 3 354- strcmp of '-1' and '1' is => int(-%d) 355- strcmp of '-1' and '0' is => int(-%d) 356- strcmp of '-1' and '0' is => int(-%d) 357- strcmp of '-1' and '-1' is => int(0) 358- strcmp of '-1' and '-1' is => int(0) 359- strcmp of '-1' and '' is => int(%d) 360- strcmp of '-1' and '1' is => int(-%d) 361- strcmp of '-1' and '' is => int(%d) 362- strcmp of '-1' and 'string' is => int(-%d) 363 364Iteration 4 365- strcmp of '-1' and '1' is => int(-%d) 366- strcmp of '-1' and '0' is => int(-%d) 367- strcmp of '-1' and '0' is => int(-%d) 368- strcmp of '-1' and '-1' is => int(0) 369- strcmp of '-1' and '-1' is => int(0) 370- strcmp of '-1' and '' is => int(%d) 371- strcmp of '-1' and '1' is => int(-%d) 372- strcmp of '-1' and '' is => int(%d) 373- strcmp of '-1' and 'string' is => int(-%d) 374 375Iteration 5 376- strcmp of '' and '1' is => int(-%d) 377- strcmp of '' and '0' is => int(-%d) 378- strcmp of '' and '0' is => int(-%d) 379- strcmp of '' and '-1' is => int(-%d) 380- strcmp of '' and '-1' is => int(-%d) 381- strcmp of '' and '' is => int(0) 382- strcmp of '' and '1' is => int(-%d) 383- strcmp of '' and '' is => int(0) 384- strcmp of '' and 'string' is => int(-%d) 385 386Iteration 6 387- strcmp of '1' and '1' is => int(0) 388- strcmp of '1' and '0' is => int(%d) 389- strcmp of '1' and '0' is => int(%d) 390- strcmp of '1' and '-1' is => int(%d) 391- strcmp of '1' and '-1' is => int(%d) 392- strcmp of '1' and '' is => int(%d) 393- strcmp of '1' and '1' is => int(0) 394- strcmp of '1' and '' is => int(%d) 395- strcmp of '1' and 'string' is => int(-%d) 396 397Iteration 7 398- strcmp of '' and '1' is => int(-%d) 399- strcmp of '' and '0' is => int(-%d) 400- strcmp of '' and '0' is => int(-%d) 401- strcmp of '' and '-1' is => int(-%d) 402- strcmp of '' and '-1' is => int(-%d) 403- strcmp of '' and '' is => int(0) 404- strcmp of '' and '1' is => int(-%d) 405- strcmp of '' and '' is => int(0) 406- strcmp of '' and 'string' is => int(-%d) 407 408Iteration 8 409- strcmp of 'string' and '1' is => int(%d) 410- strcmp of 'string' and '0' is => int(%d) 411- strcmp of 'string' and '0' is => int(%d) 412- strcmp of 'string' and '-1' is => int(%d) 413- strcmp of 'string' and '-1' is => int(%d) 414- strcmp of 'string' and '' is => int(%d) 415- strcmp of 'string' and '1' is => int(%d) 416- strcmp of 'string' and '' is => int(%d) 417- strcmp of 'string' and 'string' is => int(0) 418 419*** comparing the strings in an 420Array 421( 422 [0] => 10.5 423 [1] => 1.5 424 [2] => 9.5 425 [3] => 11.5 426 [4] => 100.5 427 [5] => 105 428 [6] => -10.5 429 [7] => 10 430 [8] => 0.5 431) 432 433Iteration 0 434- strcmp of '10.5' and '10.5' is => int(0) 435- strcmp of '10.5' and '1.5' is => int(%d) 436- strcmp of '10.5' and '9.5' is => int(-%d) 437- strcmp of '10.5' and '11.5' is => int(-%d) 438- strcmp of '10.5' and '100.5' is => int(-%d) 439- strcmp of '10.5' and '105' is => int(-%d) 440- strcmp of '10.5' and '-10.5' is => int(%d) 441- strcmp of '10.5' and '10' is => int(%d) 442- strcmp of '10.5' and '0.5' is => int(%d) 443 444Iteration 1 445- strcmp of '1.5' and '10.5' is => int(-%d) 446- strcmp of '1.5' and '1.5' is => int(0) 447- strcmp of '1.5' and '9.5' is => int(-%d) 448- strcmp of '1.5' and '11.5' is => int(-%d) 449- strcmp of '1.5' and '100.5' is => int(-%d) 450- strcmp of '1.5' and '105' is => int(-%d) 451- strcmp of '1.5' and '-10.5' is => int(%d) 452- strcmp of '1.5' and '10' is => int(-%d) 453- strcmp of '1.5' and '0.5' is => int(%d) 454 455Iteration 2 456- strcmp of '9.5' and '10.5' is => int(%d) 457- strcmp of '9.5' and '1.5' is => int(%d) 458- strcmp of '9.5' and '9.5' is => int(0) 459- strcmp of '9.5' and '11.5' is => int(%d) 460- strcmp of '9.5' and '100.5' is => int(%d) 461- strcmp of '9.5' and '105' is => int(%d) 462- strcmp of '9.5' and '-10.5' is => int(%d) 463- strcmp of '9.5' and '10' is => int(%d) 464- strcmp of '9.5' and '0.5' is => int(%d) 465 466Iteration 3 467- strcmp of '11.5' and '10.5' is => int(%d) 468- strcmp of '11.5' and '1.5' is => int(%d) 469- strcmp of '11.5' and '9.5' is => int(-%d) 470- strcmp of '11.5' and '11.5' is => int(0) 471- strcmp of '11.5' and '100.5' is => int(%d) 472- strcmp of '11.5' and '105' is => int(%d) 473- strcmp of '11.5' and '-10.5' is => int(%d) 474- strcmp of '11.5' and '10' is => int(%d) 475- strcmp of '11.5' and '0.5' is => int(%d) 476 477Iteration 4 478- strcmp of '100.5' and '10.5' is => int(%d) 479- strcmp of '100.5' and '1.5' is => int(%d) 480- strcmp of '100.5' and '9.5' is => int(-%d) 481- strcmp of '100.5' and '11.5' is => int(-%d) 482- strcmp of '100.5' and '100.5' is => int(0) 483- strcmp of '100.5' and '105' is => int(-%d) 484- strcmp of '100.5' and '-10.5' is => int(%d) 485- strcmp of '100.5' and '10' is => int(%d) 486- strcmp of '100.5' and '0.5' is => int(%d) 487 488Iteration 5 489- strcmp of '105' and '10.5' is => int(%d) 490- strcmp of '105' and '1.5' is => int(%d) 491- strcmp of '105' and '9.5' is => int(-%d) 492- strcmp of '105' and '11.5' is => int(-%d) 493- strcmp of '105' and '100.5' is => int(%d) 494- strcmp of '105' and '105' is => int(0) 495- strcmp of '105' and '-10.5' is => int(%d) 496- strcmp of '105' and '10' is => int(%d) 497- strcmp of '105' and '0.5' is => int(%d) 498 499Iteration 6 500- strcmp of '-10.5' and '10.5' is => int(-%d) 501- strcmp of '-10.5' and '1.5' is => int(-%d) 502- strcmp of '-10.5' and '9.5' is => int(-%d) 503- strcmp of '-10.5' and '11.5' is => int(-%d) 504- strcmp of '-10.5' and '100.5' is => int(-%d) 505- strcmp of '-10.5' and '105' is => int(-%d) 506- strcmp of '-10.5' and '-10.5' is => int(0) 507- strcmp of '-10.5' and '10' is => int(-%d) 508- strcmp of '-10.5' and '0.5' is => int(-%d) 509 510Iteration 7 511- strcmp of '10' and '10.5' is => int(-%d) 512- strcmp of '10' and '1.5' is => int(%d) 513- strcmp of '10' and '9.5' is => int(-%d) 514- strcmp of '10' and '11.5' is => int(-%d) 515- strcmp of '10' and '100.5' is => int(-%d) 516- strcmp of '10' and '105' is => int(-%d) 517- strcmp of '10' and '-10.5' is => int(%d) 518- strcmp of '10' and '10' is => int(0) 519- strcmp of '10' and '0.5' is => int(%d) 520 521Iteration 8 522- strcmp of '0.5' and '10.5' is => int(-%d) 523- strcmp of '0.5' and '1.5' is => int(-%d) 524- strcmp of '0.5' and '9.5' is => int(-%d) 525- strcmp of '0.5' and '11.5' is => int(-%d) 526- strcmp of '0.5' and '100.5' is => int(-%d) 527- strcmp of '0.5' and '105' is => int(-%d) 528- strcmp of '0.5' and '-10.5' is => int(%d) 529- strcmp of '0.5' and '10' is => int(-%d) 530- strcmp of '0.5' and '0.5' is => int(0) 531 532#### Testing miscellaneous inputs #### 533--- Testing objects --- 534int(-%d) 535 536--- Testing arrays --- 537int(%d) 538int(%d) 539 540--- Testing a longer and heredoc string --- 541int(0) 542int(-%d) 543int(%d) 544 545--- Testing a heredoc null string --- 546int(-%d) 547int(-%d) 548 549--- Testing simple and complex syntax strings --- 550int(-%d) 551int(-%d) 552 553Warning: Undefined variable $strS in %s on line %d 554int(%d) 555int(-%d) 556int(-%d) 557 558--- Testing binary safe and binary chars --- 559int(%d) 560int(-%d) 561int(0) 562int(0) 563int(%d) 564 565--- Comparing long float values --- 566int(0) 567int(-%d) 568int(0) 569Done 570