Annotation of embedaddon/php/ext/standard/tests/array/array_key_exists_variation8.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_key_exists() function : usage variations - array keys are different data types
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : bool array_key_exists(mixed $key, array $search)
        !             6:  * Description: Checks if the given key or index exists in the array 
        !             7:  * Source code: ext/standard/array.c
        !             8:  * Alias to functions: key_exists
        !             9:  */
        !            10: 
        !            11: /*
        !            12:  * Pass an array where the keys are different data types as the $search argument
        !            13:  * then pass many different data types as $key argument to test where array_key_exist()
        !            14:  * returns true.
        !            15:  */
        !            16: 
        !            17: echo "*** Testing array_key_exists() : usage variations ***\n";
        !            18: 
        !            19: //get an unset variable
        !            20: $unset_var = 10;
        !            21: unset ($unset_var);
        !            22: 
        !            23: // heredoc string
        !            24: $heredoc = <<<EOT
        !            25: string
        !            26: EOT;
        !            27: 
        !            28: // different data types to be iterated over
        !            29: $inputs = array(
        !            30: 
        !            31:        // int data
        !            32: /*1*/  'int' => array(
        !            33:        0 => 'zero',
        !            34:        1 => 'one',
        !            35:        12345 => 'positive',
        !            36:        -2345 => 'negative',
        !            37:        ),
        !            38: 
        !            39:        // float data
        !            40: /*2*/  'float' => array(
        !            41:        10.5 => 'positive',
        !            42:        -10.5 => 'negative',
        !            43:        .5 => 'half',
        !            44:        ),
        !            45:        
        !            46:        'extreme floats' => array(
        !            47:        12.3456789000e10 => 'large',
        !            48:        12.3456789000E-10 => 'small',
        !            49:        ),
        !            50: 
        !            51:        // null data
        !            52: /*3*/ 'null uppercase' => array(
        !            53:        NULL => 'null 1',
        !            54:        ), 
        !            55:        'null lowercase' => array(
        !            56:        null => 'null 2',
        !            57:        ),
        !            58: 
        !            59:        // boolean data
        !            60: /*4*/ 'bool lowercase' => array(
        !            61:        true => 'lowert',
        !            62:        false => 'lowerf',
        !            63:        ),
        !            64:        'bool uppercase' => array(
        !            65:        TRUE => 'uppert',
        !            66:        FALSE => 'upperf',
        !            67:        ),
        !            68:        
        !            69:        // empty data
        !            70: /*5*/ 'empty double quotes' => array(
        !            71:        "" => 'emptyd',
        !            72:        ),
        !            73:        'empty single quotes' => array(
        !            74:        '' => 'emptys',
        !            75:        ),
        !            76: 
        !            77:        // string data
        !            78: /*6*/ 'string' => array(
        !            79:        "stringd" => 'stringd',
        !            80:        'strings' => 'strings',
        !            81:        $heredoc => 'stringh',
        !            82:        ),
        !            83: 
        !            84:        // undefined data
        !            85: /*8*/ 'undefined' => array(
        !            86:        @$undefined_var => 'undefined',
        !            87:        ),
        !            88: 
        !            89:        // unset data
        !            90: /*9*/ 'unset' => array(
        !            91:        @$unset_var => 'unset',
        !            92:        ),
        !            93: );
        !            94: 
        !            95: // loop through each element of $inputs to check the behavior of array_key_exists()
        !            96: $iterator = 1;
        !            97: foreach($inputs as $type => $input) {
        !            98:        echo "\n-- Iteration $iterator: $type data --\n";
        !            99: 
        !           100:        //iterate over again to get all different key values
        !           101:        foreach ($inputs as $new_type => $new_input) {
        !           102:                echo "-- \$key arguments are $new_type data:\n";
        !           103:                foreach ($new_input as $key => $search) {
        !           104:                        var_dump(array_key_exists($key, $input));
        !           105:                }
        !           106:        }
        !           107:        $iterator++;
        !           108: };
        !           109: 
        !           110: echo "Done";
        !           111: ?>
        !           112: 
        !           113: --EXPECTF--
        !           114: *** Testing array_key_exists() : usage variations ***
        !           115: 
        !           116: -- Iteration 1: int data --
        !           117: -- $key arguments are int data:
        !           118: bool(true)
        !           119: bool(true)
        !           120: bool(true)
        !           121: bool(true)
        !           122: -- $key arguments are float data:
        !           123: bool(false)
        !           124: bool(false)
        !           125: bool(true)
        !           126: -- $key arguments are extreme floats data:
        !           127: bool(false)
        !           128: bool(true)
        !           129: -- $key arguments are null uppercase data:
        !           130: bool(false)
        !           131: -- $key arguments are null lowercase data:
        !           132: bool(false)
        !           133: -- $key arguments are bool lowercase data:
        !           134: bool(true)
        !           135: bool(true)
        !           136: -- $key arguments are bool uppercase data:
        !           137: bool(true)
        !           138: bool(true)
        !           139: -- $key arguments are empty double quotes data:
        !           140: bool(false)
        !           141: -- $key arguments are empty single quotes data:
        !           142: bool(false)
        !           143: -- $key arguments are string data:
        !           144: bool(false)
        !           145: bool(false)
        !           146: bool(false)
        !           147: -- $key arguments are undefined data:
        !           148: bool(false)
        !           149: -- $key arguments are unset data:
        !           150: bool(false)
        !           151: 
        !           152: -- Iteration 2: float data --
        !           153: -- $key arguments are int data:
        !           154: bool(true)
        !           155: bool(false)
        !           156: bool(false)
        !           157: bool(false)
        !           158: -- $key arguments are float data:
        !           159: bool(true)
        !           160: bool(true)
        !           161: bool(true)
        !           162: -- $key arguments are extreme floats data:
        !           163: bool(false)
        !           164: bool(true)
        !           165: -- $key arguments are null uppercase data:
        !           166: bool(false)
        !           167: -- $key arguments are null lowercase data:
        !           168: bool(false)
        !           169: -- $key arguments are bool lowercase data:
        !           170: bool(false)
        !           171: bool(true)
        !           172: -- $key arguments are bool uppercase data:
        !           173: bool(false)
        !           174: bool(true)
        !           175: -- $key arguments are empty double quotes data:
        !           176: bool(false)
        !           177: -- $key arguments are empty single quotes data:
        !           178: bool(false)
        !           179: -- $key arguments are string data:
        !           180: bool(false)
        !           181: bool(false)
        !           182: bool(false)
        !           183: -- $key arguments are undefined data:
        !           184: bool(false)
        !           185: -- $key arguments are unset data:
        !           186: bool(false)
        !           187: 
        !           188: -- Iteration 3: extreme floats data --
        !           189: -- $key arguments are int data:
        !           190: bool(true)
        !           191: bool(false)
        !           192: bool(false)
        !           193: bool(false)
        !           194: -- $key arguments are float data:
        !           195: bool(false)
        !           196: bool(false)
        !           197: bool(true)
        !           198: -- $key arguments are extreme floats data:
        !           199: bool(true)
        !           200: bool(true)
        !           201: -- $key arguments are null uppercase data:
        !           202: bool(false)
        !           203: -- $key arguments are null lowercase data:
        !           204: bool(false)
        !           205: -- $key arguments are bool lowercase data:
        !           206: bool(false)
        !           207: bool(true)
        !           208: -- $key arguments are bool uppercase data:
        !           209: bool(false)
        !           210: bool(true)
        !           211: -- $key arguments are empty double quotes data:
        !           212: bool(false)
        !           213: -- $key arguments are empty single quotes data:
        !           214: bool(false)
        !           215: -- $key arguments are string data:
        !           216: bool(false)
        !           217: bool(false)
        !           218: bool(false)
        !           219: -- $key arguments are undefined data:
        !           220: bool(false)
        !           221: -- $key arguments are unset data:
        !           222: bool(false)
        !           223: 
        !           224: -- Iteration 4: null uppercase data --
        !           225: -- $key arguments are int data:
        !           226: bool(false)
        !           227: bool(false)
        !           228: bool(false)
        !           229: bool(false)
        !           230: -- $key arguments are float data:
        !           231: bool(false)
        !           232: bool(false)
        !           233: bool(false)
        !           234: -- $key arguments are extreme floats data:
        !           235: bool(false)
        !           236: bool(false)
        !           237: -- $key arguments are null uppercase data:
        !           238: bool(true)
        !           239: -- $key arguments are null lowercase data:
        !           240: bool(true)
        !           241: -- $key arguments are bool lowercase data:
        !           242: bool(false)
        !           243: bool(false)
        !           244: -- $key arguments are bool uppercase data:
        !           245: bool(false)
        !           246: bool(false)
        !           247: -- $key arguments are empty double quotes data:
        !           248: bool(true)
        !           249: -- $key arguments are empty single quotes data:
        !           250: bool(true)
        !           251: -- $key arguments are string data:
        !           252: bool(false)
        !           253: bool(false)
        !           254: bool(false)
        !           255: -- $key arguments are undefined data:
        !           256: bool(true)
        !           257: -- $key arguments are unset data:
        !           258: bool(true)
        !           259: 
        !           260: -- Iteration 5: null lowercase data --
        !           261: -- $key arguments are int data:
        !           262: bool(false)
        !           263: bool(false)
        !           264: bool(false)
        !           265: bool(false)
        !           266: -- $key arguments are float data:
        !           267: bool(false)
        !           268: bool(false)
        !           269: bool(false)
        !           270: -- $key arguments are extreme floats data:
        !           271: bool(false)
        !           272: bool(false)
        !           273: -- $key arguments are null uppercase data:
        !           274: bool(true)
        !           275: -- $key arguments are null lowercase data:
        !           276: bool(true)
        !           277: -- $key arguments are bool lowercase data:
        !           278: bool(false)
        !           279: bool(false)
        !           280: -- $key arguments are bool uppercase data:
        !           281: bool(false)
        !           282: bool(false)
        !           283: -- $key arguments are empty double quotes data:
        !           284: bool(true)
        !           285: -- $key arguments are empty single quotes data:
        !           286: bool(true)
        !           287: -- $key arguments are string data:
        !           288: bool(false)
        !           289: bool(false)
        !           290: bool(false)
        !           291: -- $key arguments are undefined data:
        !           292: bool(true)
        !           293: -- $key arguments are unset data:
        !           294: bool(true)
        !           295: 
        !           296: -- Iteration 6: bool lowercase data --
        !           297: -- $key arguments are int data:
        !           298: bool(true)
        !           299: bool(true)
        !           300: bool(false)
        !           301: bool(false)
        !           302: -- $key arguments are float data:
        !           303: bool(false)
        !           304: bool(false)
        !           305: bool(true)
        !           306: -- $key arguments are extreme floats data:
        !           307: bool(false)
        !           308: bool(true)
        !           309: -- $key arguments are null uppercase data:
        !           310: bool(false)
        !           311: -- $key arguments are null lowercase data:
        !           312: bool(false)
        !           313: -- $key arguments are bool lowercase data:
        !           314: bool(true)
        !           315: bool(true)
        !           316: -- $key arguments are bool uppercase data:
        !           317: bool(true)
        !           318: bool(true)
        !           319: -- $key arguments are empty double quotes data:
        !           320: bool(false)
        !           321: -- $key arguments are empty single quotes data:
        !           322: bool(false)
        !           323: -- $key arguments are string data:
        !           324: bool(false)
        !           325: bool(false)
        !           326: bool(false)
        !           327: -- $key arguments are undefined data:
        !           328: bool(false)
        !           329: -- $key arguments are unset data:
        !           330: bool(false)
        !           331: 
        !           332: -- Iteration 7: bool uppercase data --
        !           333: -- $key arguments are int data:
        !           334: bool(true)
        !           335: bool(true)
        !           336: bool(false)
        !           337: bool(false)
        !           338: -- $key arguments are float data:
        !           339: bool(false)
        !           340: bool(false)
        !           341: bool(true)
        !           342: -- $key arguments are extreme floats data:
        !           343: bool(false)
        !           344: bool(true)
        !           345: -- $key arguments are null uppercase data:
        !           346: bool(false)
        !           347: -- $key arguments are null lowercase data:
        !           348: bool(false)
        !           349: -- $key arguments are bool lowercase data:
        !           350: bool(true)
        !           351: bool(true)
        !           352: -- $key arguments are bool uppercase data:
        !           353: bool(true)
        !           354: bool(true)
        !           355: -- $key arguments are empty double quotes data:
        !           356: bool(false)
        !           357: -- $key arguments are empty single quotes data:
        !           358: bool(false)
        !           359: -- $key arguments are string data:
        !           360: bool(false)
        !           361: bool(false)
        !           362: bool(false)
        !           363: -- $key arguments are undefined data:
        !           364: bool(false)
        !           365: -- $key arguments are unset data:
        !           366: bool(false)
        !           367: 
        !           368: -- Iteration 8: empty double quotes data --
        !           369: -- $key arguments are int data:
        !           370: bool(false)
        !           371: bool(false)
        !           372: bool(false)
        !           373: bool(false)
        !           374: -- $key arguments are float data:
        !           375: bool(false)
        !           376: bool(false)
        !           377: bool(false)
        !           378: -- $key arguments are extreme floats data:
        !           379: bool(false)
        !           380: bool(false)
        !           381: -- $key arguments are null uppercase data:
        !           382: bool(true)
        !           383: -- $key arguments are null lowercase data:
        !           384: bool(true)
        !           385: -- $key arguments are bool lowercase data:
        !           386: bool(false)
        !           387: bool(false)
        !           388: -- $key arguments are bool uppercase data:
        !           389: bool(false)
        !           390: bool(false)
        !           391: -- $key arguments are empty double quotes data:
        !           392: bool(true)
        !           393: -- $key arguments are empty single quotes data:
        !           394: bool(true)
        !           395: -- $key arguments are string data:
        !           396: bool(false)
        !           397: bool(false)
        !           398: bool(false)
        !           399: -- $key arguments are undefined data:
        !           400: bool(true)
        !           401: -- $key arguments are unset data:
        !           402: bool(true)
        !           403: 
        !           404: -- Iteration 9: empty single quotes data --
        !           405: -- $key arguments are int data:
        !           406: bool(false)
        !           407: bool(false)
        !           408: bool(false)
        !           409: bool(false)
        !           410: -- $key arguments are float data:
        !           411: bool(false)
        !           412: bool(false)
        !           413: bool(false)
        !           414: -- $key arguments are extreme floats data:
        !           415: bool(false)
        !           416: bool(false)
        !           417: -- $key arguments are null uppercase data:
        !           418: bool(true)
        !           419: -- $key arguments are null lowercase data:
        !           420: bool(true)
        !           421: -- $key arguments are bool lowercase data:
        !           422: bool(false)
        !           423: bool(false)
        !           424: -- $key arguments are bool uppercase data:
        !           425: bool(false)
        !           426: bool(false)
        !           427: -- $key arguments are empty double quotes data:
        !           428: bool(true)
        !           429: -- $key arguments are empty single quotes data:
        !           430: bool(true)
        !           431: -- $key arguments are string data:
        !           432: bool(false)
        !           433: bool(false)
        !           434: bool(false)
        !           435: -- $key arguments are undefined data:
        !           436: bool(true)
        !           437: -- $key arguments are unset data:
        !           438: bool(true)
        !           439: 
        !           440: -- Iteration 10: string data --
        !           441: -- $key arguments are int data:
        !           442: bool(false)
        !           443: bool(false)
        !           444: bool(false)
        !           445: bool(false)
        !           446: -- $key arguments are float data:
        !           447: bool(false)
        !           448: bool(false)
        !           449: bool(false)
        !           450: -- $key arguments are extreme floats data:
        !           451: bool(false)
        !           452: bool(false)
        !           453: -- $key arguments are null uppercase data:
        !           454: bool(false)
        !           455: -- $key arguments are null lowercase data:
        !           456: bool(false)
        !           457: -- $key arguments are bool lowercase data:
        !           458: bool(false)
        !           459: bool(false)
        !           460: -- $key arguments are bool uppercase data:
        !           461: bool(false)
        !           462: bool(false)
        !           463: -- $key arguments are empty double quotes data:
        !           464: bool(false)
        !           465: -- $key arguments are empty single quotes data:
        !           466: bool(false)
        !           467: -- $key arguments are string data:
        !           468: bool(true)
        !           469: bool(true)
        !           470: bool(true)
        !           471: -- $key arguments are undefined data:
        !           472: bool(false)
        !           473: -- $key arguments are unset data:
        !           474: bool(false)
        !           475: 
        !           476: -- Iteration 11: undefined data --
        !           477: -- $key arguments are int data:
        !           478: bool(false)
        !           479: bool(false)
        !           480: bool(false)
        !           481: bool(false)
        !           482: -- $key arguments are float data:
        !           483: bool(false)
        !           484: bool(false)
        !           485: bool(false)
        !           486: -- $key arguments are extreme floats data:
        !           487: bool(false)
        !           488: bool(false)
        !           489: -- $key arguments are null uppercase data:
        !           490: bool(true)
        !           491: -- $key arguments are null lowercase data:
        !           492: bool(true)
        !           493: -- $key arguments are bool lowercase data:
        !           494: bool(false)
        !           495: bool(false)
        !           496: -- $key arguments are bool uppercase data:
        !           497: bool(false)
        !           498: bool(false)
        !           499: -- $key arguments are empty double quotes data:
        !           500: bool(true)
        !           501: -- $key arguments are empty single quotes data:
        !           502: bool(true)
        !           503: -- $key arguments are string data:
        !           504: bool(false)
        !           505: bool(false)
        !           506: bool(false)
        !           507: -- $key arguments are undefined data:
        !           508: bool(true)
        !           509: -- $key arguments are unset data:
        !           510: bool(true)
        !           511: 
        !           512: -- Iteration 12: unset data --
        !           513: -- $key arguments are int data:
        !           514: bool(false)
        !           515: bool(false)
        !           516: bool(false)
        !           517: bool(false)
        !           518: -- $key arguments are float data:
        !           519: bool(false)
        !           520: bool(false)
        !           521: bool(false)
        !           522: -- $key arguments are extreme floats data:
        !           523: bool(false)
        !           524: bool(false)
        !           525: -- $key arguments are null uppercase data:
        !           526: bool(true)
        !           527: -- $key arguments are null lowercase data:
        !           528: bool(true)
        !           529: -- $key arguments are bool lowercase data:
        !           530: bool(false)
        !           531: bool(false)
        !           532: -- $key arguments are bool uppercase data:
        !           533: bool(false)
        !           534: bool(false)
        !           535: -- $key arguments are empty double quotes data:
        !           536: bool(true)
        !           537: -- $key arguments are empty single quotes data:
        !           538: bool(true)
        !           539: -- $key arguments are string data:
        !           540: bool(false)
        !           541: bool(false)
        !           542: bool(false)
        !           543: -- $key arguments are undefined data:
        !           544: bool(true)
        !           545: -- $key arguments are unset data:
        !           546: bool(true)
        !           547: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>