1--TEST-- 2Test in_array() function : usage variations - different needdle values 3--FILE-- 4<?php 5/* 6 * Prototype : bool in_array ( mixed $needle, array $haystack [, bool $strict] ) 7 * Description: Searches haystack for needle and returns TRUE 8 * if it is found in the array, FALSE otherwise. 9 * Source Code: ext/standard/array.c 10*/ 11 12/* Test in_array() with different possible needle values */ 13 14echo "*** Testing in_array() with different needle values ***\n"; 15$arrays = array ( 16 array(0), 17 array("a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"), 18 array(4, array(1, 2 => 3), "one" => 1, "5" => 5 ), 19 array(-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2.0 => "float2", "-.9" => -.9), 20 array(TRUE, FALSE), 21 array("", array()), 22 array("abcd\x00abcd\x00abcd"), 23 array("abcd\tabcd\nabcd\rabcd\0abcdefghij") 24); 25 26$array_compare = array ( 27 4, 28 "4", 29 4.00, 30 "b", 31 "5", 32 -2, 33 -2.0, 34 -2.98989, 35 "-.9", 36 "True", 37 "", 38 array(), 39 NULL, 40 "ab", 41 "abcd", 42 0.0, 43 -0, 44 "abcd\x00abcd\x00abcd" 45); 46/* loop to check if elements in $array_compare exist in $arrays 47 using in_array() */ 48$counter = 1; 49foreach($arrays as $array) { 50 foreach($array_compare as $compare) { 51 echo "-- Iteration $counter --\n"; 52 //strict option OFF 53 var_dump(in_array($compare,$array)); 54 //strict option ON 55 var_dump(in_array($compare,$array,TRUE)); 56 //strict option OFF 57 var_dump(in_array($compare,$array,FALSE)); 58 $counter++; 59 } 60} 61 62echo "Done\n"; 63?> 64--EXPECTF-- 65*** Testing in_array() with different needle values *** 66-- Iteration 1 -- 67bool(false) 68bool(false) 69bool(false) 70-- Iteration 2 -- 71bool(false) 72bool(false) 73bool(false) 74-- Iteration 3 -- 75bool(false) 76bool(false) 77bool(false) 78-- Iteration 4 -- 79bool(true) 80bool(false) 81bool(true) 82-- Iteration 5 -- 83bool(false) 84bool(false) 85bool(false) 86-- Iteration 6 -- 87bool(false) 88bool(false) 89bool(false) 90-- Iteration 7 -- 91bool(false) 92bool(false) 93bool(false) 94-- Iteration 8 -- 95bool(false) 96bool(false) 97bool(false) 98-- Iteration 9 -- 99bool(false) 100bool(false) 101bool(false) 102-- Iteration 10 -- 103bool(true) 104bool(false) 105bool(true) 106-- Iteration 11 -- 107bool(true) 108bool(false) 109bool(true) 110-- Iteration 12 -- 111bool(false) 112bool(false) 113bool(false) 114-- Iteration 13 -- 115bool(true) 116bool(false) 117bool(true) 118-- Iteration 14 -- 119bool(true) 120bool(false) 121bool(true) 122-- Iteration 15 -- 123bool(true) 124bool(false) 125bool(true) 126-- Iteration 16 -- 127bool(true) 128bool(false) 129bool(true) 130-- Iteration 17 -- 131bool(true) 132bool(true) 133bool(true) 134-- Iteration 18 -- 135bool(true) 136bool(false) 137bool(true) 138-- Iteration 19 -- 139bool(true) 140bool(true) 141bool(true) 142-- Iteration 20 -- 143bool(true) 144bool(false) 145bool(true) 146-- Iteration 21 -- 147bool(true) 148bool(false) 149bool(true) 150-- Iteration 22 -- 151bool(true) 152bool(true) 153bool(true) 154-- Iteration 23 -- 155bool(false) 156bool(false) 157bool(false) 158-- Iteration 24 -- 159bool(false) 160bool(false) 161bool(false) 162-- Iteration 25 -- 163bool(false) 164bool(false) 165bool(false) 166-- Iteration 26 -- 167bool(false) 168bool(false) 169bool(false) 170-- Iteration 27 -- 171bool(false) 172bool(false) 173bool(false) 174-- Iteration 28 -- 175bool(false) 176bool(false) 177bool(false) 178-- Iteration 29 -- 179bool(true) 180bool(false) 181bool(true) 182-- Iteration 30 -- 183bool(true) 184bool(false) 185bool(true) 186-- Iteration 31 -- 187bool(true) 188bool(true) 189bool(true) 190-- Iteration 32 -- 191bool(true) 192bool(true) 193bool(true) 194-- Iteration 33 -- 195bool(true) 196bool(true) 197bool(true) 198-- Iteration 34 -- 199bool(true) 200bool(false) 201bool(true) 202-- Iteration 35 -- 203bool(true) 204bool(false) 205bool(true) 206-- Iteration 36 -- 207bool(false) 208bool(false) 209bool(false) 210-- Iteration 37 -- 211bool(true) 212bool(true) 213bool(true) 214-- Iteration 38 -- 215bool(true) 216bool(false) 217bool(true) 218-- Iteration 39 -- 219bool(true) 220bool(false) 221bool(true) 222-- Iteration 40 -- 223bool(false) 224bool(false) 225bool(false) 226-- Iteration 41 -- 227bool(true) 228bool(false) 229bool(true) 230-- Iteration 42 -- 231bool(false) 232bool(false) 233bool(false) 234-- Iteration 43 -- 235bool(false) 236bool(false) 237bool(false) 238-- Iteration 44 -- 239bool(false) 240bool(false) 241bool(false) 242-- Iteration 45 -- 243bool(false) 244bool(false) 245bool(false) 246-- Iteration 46 -- 247bool(false) 248bool(false) 249bool(false) 250-- Iteration 47 -- 251bool(false) 252bool(false) 253bool(false) 254-- Iteration 48 -- 255bool(false) 256bool(false) 257bool(false) 258-- Iteration 49 -- 259bool(false) 260bool(false) 261bool(false) 262-- Iteration 50 -- 263bool(false) 264bool(false) 265bool(false) 266-- Iteration 51 -- 267bool(false) 268bool(false) 269bool(false) 270-- Iteration 52 -- 271bool(false) 272bool(false) 273bool(false) 274-- Iteration 53 -- 275bool(false) 276bool(false) 277bool(false) 278-- Iteration 54 -- 279bool(false) 280bool(false) 281bool(false) 282-- Iteration 55 -- 283bool(false) 284bool(false) 285bool(false) 286-- Iteration 56 -- 287bool(false) 288bool(false) 289bool(false) 290-- Iteration 57 -- 291bool(false) 292bool(false) 293bool(false) 294-- Iteration 58 -- 295bool(false) 296bool(false) 297bool(false) 298-- Iteration 59 -- 299bool(false) 300bool(false) 301bool(false) 302-- Iteration 60 -- 303bool(true) 304bool(true) 305bool(true) 306-- Iteration 61 -- 307bool(true) 308bool(false) 309bool(true) 310-- Iteration 62 -- 311bool(false) 312bool(false) 313bool(false) 314-- Iteration 63 -- 315bool(true) 316bool(false) 317bool(true) 318-- Iteration 64 -- 319bool(false) 320bool(false) 321bool(false) 322-- Iteration 65 -- 323bool(false) 324bool(false) 325bool(false) 326-- Iteration 66 -- 327bool(false) 328bool(false) 329bool(false) 330-- Iteration 67 -- 331bool(false) 332bool(false) 333bool(false) 334-- Iteration 68 -- 335bool(false) 336bool(false) 337bool(false) 338-- Iteration 69 -- 339bool(false) 340bool(false) 341bool(false) 342-- Iteration 70 -- 343bool(true) 344bool(false) 345bool(true) 346-- Iteration 71 -- 347bool(true) 348bool(false) 349bool(true) 350-- Iteration 72 -- 351bool(false) 352bool(false) 353bool(false) 354-- Iteration 73 -- 355bool(true) 356bool(false) 357bool(true) 358-- Iteration 74 -- 359bool(true) 360bool(false) 361bool(true) 362-- Iteration 75 -- 363bool(true) 364bool(false) 365bool(true) 366-- Iteration 76 -- 367bool(true) 368bool(false) 369bool(true) 370-- Iteration 77 -- 371bool(true) 372bool(false) 373bool(true) 374-- Iteration 78 -- 375bool(true) 376bool(false) 377bool(true) 378-- Iteration 79 -- 379bool(true) 380bool(false) 381bool(true) 382-- Iteration 80 -- 383bool(true) 384bool(false) 385bool(true) 386-- Iteration 81 -- 387bool(true) 388bool(false) 389bool(true) 390-- Iteration 82 -- 391bool(true) 392bool(false) 393bool(true) 394-- Iteration 83 -- 395bool(true) 396bool(false) 397bool(true) 398-- Iteration 84 -- 399bool(true) 400bool(false) 401bool(true) 402-- Iteration 85 -- 403bool(true) 404bool(false) 405bool(true) 406-- Iteration 86 -- 407bool(true) 408bool(false) 409bool(true) 410-- Iteration 87 -- 411bool(true) 412bool(false) 413bool(true) 414-- Iteration 88 -- 415bool(true) 416bool(false) 417bool(true) 418-- Iteration 89 -- 419bool(true) 420bool(false) 421bool(true) 422-- Iteration 90 -- 423bool(true) 424bool(false) 425bool(true) 426-- Iteration 91 -- 427bool(false) 428bool(false) 429bool(false) 430-- Iteration 92 -- 431bool(false) 432bool(false) 433bool(false) 434-- Iteration 93 -- 435bool(false) 436bool(false) 437bool(false) 438-- Iteration 94 -- 439bool(false) 440bool(false) 441bool(false) 442-- Iteration 95 -- 443bool(false) 444bool(false) 445bool(false) 446-- Iteration 96 -- 447bool(false) 448bool(false) 449bool(false) 450-- Iteration 97 -- 451bool(false) 452bool(false) 453bool(false) 454-- Iteration 98 -- 455bool(false) 456bool(false) 457bool(false) 458-- Iteration 99 -- 459bool(false) 460bool(false) 461bool(false) 462-- Iteration 100 -- 463bool(false) 464bool(false) 465bool(false) 466-- Iteration 101 -- 467bool(true) 468bool(true) 469bool(true) 470-- Iteration 102 -- 471bool(true) 472bool(true) 473bool(true) 474-- Iteration 103 -- 475bool(true) 476bool(false) 477bool(true) 478-- Iteration 104 -- 479bool(false) 480bool(false) 481bool(false) 482-- Iteration 105 -- 483bool(false) 484bool(false) 485bool(false) 486-- Iteration 106 -- 487bool(true) 488bool(false) 489bool(true) 490-- Iteration 107 -- 491bool(true) 492bool(false) 493bool(true) 494-- Iteration 108 -- 495bool(false) 496bool(false) 497bool(false) 498-- Iteration 109 -- 499bool(false) 500bool(false) 501bool(false) 502-- Iteration 110 -- 503bool(false) 504bool(false) 505bool(false) 506-- Iteration 111 -- 507bool(false) 508bool(false) 509bool(false) 510-- Iteration 112 -- 511bool(false) 512bool(false) 513bool(false) 514-- Iteration 113 -- 515bool(false) 516bool(false) 517bool(false) 518-- Iteration 114 -- 519bool(false) 520bool(false) 521bool(false) 522-- Iteration 115 -- 523bool(false) 524bool(false) 525bool(false) 526-- Iteration 116 -- 527bool(false) 528bool(false) 529bool(false) 530-- Iteration 117 -- 531bool(false) 532bool(false) 533bool(false) 534-- Iteration 118 -- 535bool(false) 536bool(false) 537bool(false) 538-- Iteration 119 -- 539bool(false) 540bool(false) 541bool(false) 542-- Iteration 120 -- 543bool(false) 544bool(false) 545bool(false) 546-- Iteration 121 -- 547bool(false) 548bool(false) 549bool(false) 550-- Iteration 122 -- 551bool(false) 552bool(false) 553bool(false) 554-- Iteration 123 -- 555bool(false) 556bool(false) 557bool(false) 558-- Iteration 124 -- 559bool(true) 560bool(false) 561bool(true) 562-- Iteration 125 -- 563bool(true) 564bool(false) 565bool(true) 566-- Iteration 126 -- 567bool(true) 568bool(true) 569bool(true) 570-- Iteration 127 -- 571bool(false) 572bool(false) 573bool(false) 574-- Iteration 128 -- 575bool(false) 576bool(false) 577bool(false) 578-- Iteration 129 -- 579bool(false) 580bool(false) 581bool(false) 582-- Iteration 130 -- 583bool(false) 584bool(false) 585bool(false) 586-- Iteration 131 -- 587bool(false) 588bool(false) 589bool(false) 590-- Iteration 132 -- 591bool(false) 592bool(false) 593bool(false) 594-- Iteration 133 -- 595bool(false) 596bool(false) 597bool(false) 598-- Iteration 134 -- 599bool(false) 600bool(false) 601bool(false) 602-- Iteration 135 -- 603bool(false) 604bool(false) 605bool(false) 606-- Iteration 136 -- 607bool(false) 608bool(false) 609bool(false) 610-- Iteration 137 -- 611bool(false) 612bool(false) 613bool(false) 614-- Iteration 138 -- 615bool(false) 616bool(false) 617bool(false) 618-- Iteration 139 -- 619bool(false) 620bool(false) 621bool(false) 622-- Iteration 140 -- 623bool(false) 624bool(false) 625bool(false) 626-- Iteration 141 -- 627bool(false) 628bool(false) 629bool(false) 630-- Iteration 142 -- 631bool(true) 632bool(false) 633bool(true) 634-- Iteration 143 -- 635bool(true) 636bool(false) 637bool(true) 638-- Iteration 144 -- 639bool(false) 640bool(false) 641bool(false) 642Done 643