1--TEST-- 2Test array_flip() function : usage variations - 'input' argument with different valid values 3--FILE-- 4<?php 5/* 6* In 'input' array argument, values are expected to be valid keys i.e. string/integer 7* here testing for all different valid string and integer values 8*/ 9 10echo "*** Testing array_flip() : different valid values in 'input' array argument ***\n"; 11 12$empty_heredoc = <<<EOT1 13EOT1; 14 15$simple_heredoc = <<<EOT4 16simple 17EOT4; 18 19$multiline_heredoc = <<<EOT7 20multiline heredoc with 123 and 21speci@! ch@r$..checking\nwith\talso 22EOT7; 23 24$input = array( 25 // numeric values 26 'int_value' => 1, 27 'negative_value' => -2, 28 'zero_value' => 0, 29 'octal_value' => 012, 30 'hex_value' => 0x23, 31 32 // single quoted string value 33 'empty_value1' => '', 34 'space_value1' => ' ', 35 'char_value1' => 'a', 36 'string_value1' => 'string1', 37 'numeric_value1' => '123', 38 'special_char_value1' => '!@#$%', 39 'whitespace1_value1' => '\t', 40 'whitespace2_value1' => '\n', 41 'null_char_value1' => '\0', 42 43 // double quoted string value 44 'empty_value2' => "", 45 'space_value2' => " ", 46 'char_value2' => "b", 47 'string_value2' => "string2", 48 'numeric_value2' => "456", 49 'special_char_value2' => "^&*", 50 'whitespace1_value2' => "\t", 51 'whitespace2_value2' => "\n", 52 'null_char_value2' => "\0", 53 'binary_value' => "a".chr(0)."b", 54 55 // heredoc string value 56 'empty_heredoc' => $empty_heredoc, 57 'simple_heredoc' => $simple_heredoc, 58 'multiline_heredoc' => $multiline_heredoc, 59); 60 61var_dump( array_flip($input) ); 62 63echo "Done" 64?> 65--EXPECTF-- 66*** Testing array_flip() : different valid values in 'input' array argument *** 67array(24) { 68 [1]=> 69 string(9) "int_value" 70 [-2]=> 71 string(14) "negative_value" 72 [0]=> 73 string(10) "zero_value" 74 [10]=> 75 string(11) "octal_value" 76 [35]=> 77 string(9) "hex_value" 78 [""]=> 79 string(13) "empty_heredoc" 80 [" "]=> 81 string(12) "space_value2" 82 ["a"]=> 83 string(11) "char_value1" 84 ["string1"]=> 85 string(13) "string_value1" 86 [123]=> 87 string(14) "numeric_value1" 88 ["!@#$%"]=> 89 string(19) "special_char_value1" 90 ["\t"]=> 91 string(18) "whitespace1_value1" 92 ["\n"]=> 93 string(18) "whitespace2_value1" 94 ["\0"]=> 95 string(16) "null_char_value1" 96 ["b"]=> 97 string(11) "char_value2" 98 ["string2"]=> 99 string(13) "string_value2" 100 [456]=> 101 string(14) "numeric_value2" 102 ["^&*"]=> 103 string(19) "special_char_value2" 104 [" "]=> 105 string(18) "whitespace1_value2" 106 [" 107"]=> 108 string(18) "whitespace2_value2" 109 ["%0"]=> 110 string(16) "null_char_value2" 111 ["a%0b"]=> 112 string(12) "binary_value" 113 ["simple"]=> 114 string(14) "simple_heredoc" 115 ["multiline heredoc with 123 and 116speci@! ch@r$..checking 117with also"]=> 118 string(17) "multiline_heredoc" 119} 120Done 121