From 50e0767d144465fab76c21218adc9c52e14157e2 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Fri, 30 Jan 2026 00:34:00 +0100 Subject: [PATCH 1/4] test: improved the tests for in_array --- .../tests/array/in_array_variation1.phpt | 555 +++++++++++++----- 1 file changed, 400 insertions(+), 155 deletions(-) diff --git a/ext/standard/tests/array/in_array_variation1.phpt b/ext/standard/tests/array/in_array_variation1.phpt index 0c88a45332061..83c774c91d68e 100644 --- a/ext/standard/tests/array/in_array_variation1.phpt +++ b/ext/standard/tests/array/in_array_variation1.phpt @@ -4,16 +4,28 @@ Test in_array() function : usage variations - different needdle values "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"), - array(4, array(1, 2 => 3), "one" => 1, "5" => 5 ), - array(-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2 => "float2", "-.9" => -.9), - array(TRUE, FALSE), - array("", array()), - array("abcd\x00abcd\x00abcd"), - array("abcd\tabcd\nabcd\rabcd\0abcdefghij") + 0 => array(0), + 1 => array("a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"), + 2 => array(4, array(1, 2 => 3), "one" => 1, "5" => 5 ), + 3 => array(-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2 => "float2", "-.9" => -.9), + 4 => array(TRUE, FALSE), + 5 => array("", array()), + 6 => array("abcd\x00abcd\x00abcd"), + 7 => array("abcd\tabcd\nabcd\rabcd\0abcdefghij"), + 8 => array(Sample::A), + 9 => array(&$refVar2, &$refVar, &$refVar3, &$refVar4, &$refVar5), ); $array_compare = array ( @@ -34,14 +46,23 @@ $array_compare = array ( "abcd", 0.0, -0, - "abcd\x00abcd\x00abcd" + "abcd\x00abcd\x00abcd", + Sample::A, + Sample::B, ); /* loop to check if elements in $array_compare exist in $arrays using in_array() */ $counter = 1; -foreach($arrays as $array) { + +function get_type(mixed $value): string { + if (is_object($value)) { + return var_export($value, true); + } + return gettype($value). ':' . json_encode($value, true); +} +foreach($arrays as $arrayKey => $array) { foreach($array_compare as $compare) { - echo "-- Iteration $counter --\n"; + echo "-- Iteration $counter -- array ".$arrayKey." -- ".get_type($compare)."\n"; //strict option OFF var_dump(in_array($compare,$array)); //strict option ON @@ -56,579 +77,803 @@ echo "Done\n"; ?> --EXPECT-- *** Testing in_array() with different needle values *** --- Iteration 1 -- +-- Iteration 1 -- array 0 -- integer:4 bool(false) bool(false) bool(false) --- Iteration 2 -- +-- Iteration 2 -- array 0 -- string:"4" bool(false) bool(false) bool(false) --- Iteration 3 -- +-- Iteration 3 -- array 0 -- double:4 bool(false) bool(false) bool(false) --- Iteration 4 -- +-- Iteration 4 -- array 0 -- string:"b" bool(false) bool(false) bool(false) --- Iteration 5 -- +-- Iteration 5 -- array 0 -- string:"5" bool(false) bool(false) bool(false) --- Iteration 6 -- +-- Iteration 6 -- array 0 -- integer:-2 bool(false) bool(false) bool(false) --- Iteration 7 -- +-- Iteration 7 -- array 0 -- double:-2 bool(false) bool(false) bool(false) --- Iteration 8 -- +-- Iteration 8 -- array 0 -- double:-2.98989 bool(false) bool(false) bool(false) --- Iteration 9 -- +-- Iteration 9 -- array 0 -- string:"-.9" bool(false) bool(false) bool(false) --- Iteration 10 -- +-- Iteration 10 -- array 0 -- string:"True" bool(false) bool(false) bool(false) --- Iteration 11 -- +-- Iteration 11 -- array 0 -- string:"" bool(false) bool(false) bool(false) --- Iteration 12 -- +-- Iteration 12 -- array 0 -- array:[] bool(false) bool(false) bool(false) --- Iteration 13 -- +-- Iteration 13 -- array 0 -- NULL:null bool(true) bool(false) bool(true) --- Iteration 14 -- +-- Iteration 14 -- array 0 -- string:"ab" bool(false) bool(false) bool(false) --- Iteration 15 -- +-- Iteration 15 -- array 0 -- string:"abcd" bool(false) bool(false) bool(false) --- Iteration 16 -- +-- Iteration 16 -- array 0 -- double:0 bool(true) bool(false) bool(true) --- Iteration 17 -- +-- Iteration 17 -- array 0 -- integer:0 bool(true) bool(true) bool(true) --- Iteration 18 -- +-- Iteration 18 -- array 0 -- string:"abcd\u0000abcd\u0000abcd" +bool(false) +bool(false) bool(false) +-- Iteration 19 -- array 0 -- \Sample::A bool(false) bool(false) --- Iteration 19 -- +bool(false) +-- Iteration 20 -- array 0 -- \Sample::B +bool(false) +bool(false) +bool(false) +-- Iteration 21 -- array 1 -- integer:4 bool(true) bool(true) bool(true) --- Iteration 20 -- +-- Iteration 22 -- array 1 -- string:"4" bool(true) bool(false) bool(true) --- Iteration 21 -- +-- Iteration 23 -- array 1 -- double:4 bool(true) bool(false) bool(true) --- Iteration 22 -- +-- Iteration 24 -- array 1 -- string:"b" bool(true) bool(true) bool(true) --- Iteration 23 -- +-- Iteration 25 -- array 1 -- string:"5" bool(false) bool(false) bool(false) --- Iteration 24 -- +-- Iteration 26 -- array 1 -- integer:-2 bool(false) bool(false) bool(false) --- Iteration 25 -- +-- Iteration 27 -- array 1 -- double:-2 bool(false) bool(false) bool(false) --- Iteration 26 -- +-- Iteration 28 -- array 1 -- double:-2.98989 bool(false) bool(false) bool(false) --- Iteration 27 -- +-- Iteration 29 -- array 1 -- string:"-.9" bool(false) bool(false) bool(false) --- Iteration 28 -- +-- Iteration 30 -- array 1 -- string:"True" bool(false) bool(false) bool(false) --- Iteration 29 -- +-- Iteration 31 -- array 1 -- string:"" bool(true) bool(false) bool(true) --- Iteration 30 -- +-- Iteration 32 -- array 1 -- array:[] bool(true) bool(false) bool(true) --- Iteration 31 -- +-- Iteration 33 -- array 1 -- NULL:null bool(true) bool(true) bool(true) --- Iteration 32 -- +-- Iteration 34 -- array 1 -- string:"ab" bool(true) bool(true) bool(true) --- Iteration 33 -- +-- Iteration 35 -- array 1 -- string:"abcd" bool(true) bool(true) bool(true) --- Iteration 34 -- +-- Iteration 36 -- array 1 -- double:0 bool(true) bool(false) bool(true) --- Iteration 35 -- +-- Iteration 37 -- array 1 -- integer:0 bool(true) bool(false) bool(true) --- Iteration 36 -- +-- Iteration 38 -- array 1 -- string:"abcd\u0000abcd\u0000abcd" +bool(false) bool(false) bool(false) +-- Iteration 39 -- array 1 -- \Sample::A bool(false) --- Iteration 37 -- +bool(false) +bool(false) +-- Iteration 40 -- array 1 -- \Sample::B +bool(false) +bool(false) +bool(false) +-- Iteration 41 -- array 2 -- integer:4 bool(true) bool(true) bool(true) --- Iteration 38 -- +-- Iteration 42 -- array 2 -- string:"4" bool(true) bool(false) bool(true) --- Iteration 39 -- +-- Iteration 43 -- array 2 -- double:4 bool(true) bool(false) bool(true) --- Iteration 40 -- +-- Iteration 44 -- array 2 -- string:"b" bool(false) bool(false) bool(false) --- Iteration 41 -- +-- Iteration 45 -- array 2 -- string:"5" bool(true) bool(false) bool(true) --- Iteration 42 -- +-- Iteration 46 -- array 2 -- integer:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 47 -- array 2 -- double:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 48 -- array 2 -- double:-2.98989 bool(false) bool(false) bool(false) --- Iteration 43 -- +-- Iteration 49 -- array 2 -- string:"-.9" bool(false) bool(false) bool(false) --- Iteration 44 -- +-- Iteration 50 -- array 2 -- string:"True" bool(false) bool(false) bool(false) --- Iteration 45 -- +-- Iteration 51 -- array 2 -- string:"" bool(false) bool(false) bool(false) --- Iteration 46 -- +-- Iteration 52 -- array 2 -- array:[] bool(false) bool(false) bool(false) --- Iteration 47 -- +-- Iteration 53 -- array 2 -- NULL:null bool(false) bool(false) bool(false) --- Iteration 48 -- +-- Iteration 54 -- array 2 -- string:"ab" bool(false) bool(false) bool(false) --- Iteration 49 -- +-- Iteration 55 -- array 2 -- string:"abcd" bool(false) bool(false) bool(false) --- Iteration 50 -- +-- Iteration 56 -- array 2 -- double:0 bool(false) bool(false) bool(false) --- Iteration 51 -- +-- Iteration 57 -- array 2 -- integer:0 bool(false) bool(false) bool(false) --- Iteration 52 -- +-- Iteration 58 -- array 2 -- string:"abcd\u0000abcd\u0000abcd" bool(false) bool(false) bool(false) --- Iteration 53 -- +-- Iteration 59 -- array 2 -- \Sample::A bool(false) bool(false) bool(false) --- Iteration 54 -- +-- Iteration 60 -- array 2 -- \Sample::B bool(false) bool(false) bool(false) --- Iteration 55 -- +-- Iteration 61 -- array 3 -- integer:4 bool(false) bool(false) bool(false) --- Iteration 56 -- +-- Iteration 62 -- array 3 -- string:"4" bool(false) bool(false) bool(false) --- Iteration 57 -- +-- Iteration 63 -- array 3 -- double:4 bool(false) bool(false) bool(false) --- Iteration 58 -- +-- Iteration 64 -- array 3 -- string:"b" bool(false) bool(false) bool(false) --- Iteration 59 -- +-- Iteration 65 -- array 3 -- string:"5" bool(false) bool(false) bool(false) --- Iteration 60 -- +-- Iteration 66 -- array 3 -- integer:-2 bool(true) bool(true) bool(true) --- Iteration 61 -- +-- Iteration 67 -- array 3 -- double:-2 bool(true) bool(false) bool(true) --- Iteration 62 -- +-- Iteration 68 -- array 3 -- double:-2.98989 bool(false) bool(false) bool(false) --- Iteration 63 -- +-- Iteration 69 -- array 3 -- string:"-.9" bool(true) bool(false) bool(true) --- Iteration 64 -- +-- Iteration 70 -- array 3 -- string:"True" bool(false) bool(false) bool(false) --- Iteration 65 -- +-- Iteration 71 -- array 3 -- string:"" bool(false) bool(false) bool(false) --- Iteration 66 -- +-- Iteration 72 -- array 3 -- array:[] bool(false) bool(false) bool(false) --- Iteration 67 -- +-- Iteration 73 -- array 3 -- NULL:null bool(false) bool(false) bool(false) --- Iteration 68 -- +-- Iteration 74 -- array 3 -- string:"ab" bool(false) bool(false) bool(false) --- Iteration 69 -- +-- Iteration 75 -- array 3 -- string:"abcd" bool(false) bool(false) bool(false) --- Iteration 70 -- +-- Iteration 76 -- array 3 -- double:0 bool(false) bool(false) bool(false) --- Iteration 71 -- +-- Iteration 77 -- array 3 -- integer:0 bool(false) bool(false) bool(false) --- Iteration 72 -- +-- Iteration 78 -- array 3 -- string:"abcd\u0000abcd\u0000abcd" bool(false) bool(false) bool(false) --- Iteration 73 -- +-- Iteration 79 -- array 3 -- \Sample::A +bool(false) +bool(false) +bool(false) +-- Iteration 80 -- array 3 -- \Sample::B +bool(false) +bool(false) +bool(false) +-- Iteration 81 -- array 4 -- integer:4 bool(true) bool(false) bool(true) --- Iteration 74 -- +-- Iteration 82 -- array 4 -- string:"4" bool(true) bool(false) bool(true) --- Iteration 75 -- +-- Iteration 83 -- array 4 -- double:4 bool(true) bool(false) bool(true) --- Iteration 76 -- +-- Iteration 84 -- array 4 -- string:"b" bool(true) bool(false) bool(true) --- Iteration 77 -- +-- Iteration 85 -- array 4 -- string:"5" bool(true) bool(false) bool(true) --- Iteration 78 -- +-- Iteration 86 -- array 4 -- integer:-2 bool(true) bool(false) bool(true) --- Iteration 79 -- +-- Iteration 87 -- array 4 -- double:-2 bool(true) bool(false) bool(true) --- Iteration 80 -- +-- Iteration 88 -- array 4 -- double:-2.98989 bool(true) bool(false) bool(true) --- Iteration 81 -- +-- Iteration 89 -- array 4 -- string:"-.9" bool(true) bool(false) bool(true) --- Iteration 82 -- +-- Iteration 90 -- array 4 -- string:"True" bool(true) bool(false) bool(true) --- Iteration 83 -- +-- Iteration 91 -- array 4 -- string:"" bool(true) bool(false) bool(true) --- Iteration 84 -- +-- Iteration 92 -- array 4 -- array:[] bool(true) bool(false) bool(true) --- Iteration 85 -- +-- Iteration 93 -- array 4 -- NULL:null bool(true) bool(false) bool(true) --- Iteration 86 -- +-- Iteration 94 -- array 4 -- string:"ab" bool(true) bool(false) bool(true) --- Iteration 87 -- +-- Iteration 95 -- array 4 -- string:"abcd" bool(true) bool(false) bool(true) --- Iteration 88 -- +-- Iteration 96 -- array 4 -- double:0 bool(true) bool(false) bool(true) --- Iteration 89 -- +-- Iteration 97 -- array 4 -- integer:0 bool(true) bool(false) bool(true) --- Iteration 90 -- +-- Iteration 98 -- array 4 -- string:"abcd\u0000abcd\u0000abcd" bool(true) bool(false) bool(true) --- Iteration 91 -- +-- Iteration 99 -- array 4 -- \Sample::A +bool(true) bool(false) +bool(true) +-- Iteration 100 -- array 4 -- \Sample::B +bool(true) +bool(false) +bool(true) +-- Iteration 101 -- array 5 -- integer:4 bool(false) bool(false) --- Iteration 92 -- bool(false) +-- Iteration 102 -- array 5 -- string:"4" bool(false) bool(false) --- Iteration 93 -- bool(false) +-- Iteration 103 -- array 5 -- double:4 bool(false) bool(false) --- Iteration 94 -- bool(false) +-- Iteration 104 -- array 5 -- string:"b" bool(false) bool(false) --- Iteration 95 -- bool(false) +-- Iteration 105 -- array 5 -- string:"5" bool(false) bool(false) --- Iteration 96 -- bool(false) +-- Iteration 106 -- array 5 -- integer:-2 bool(false) bool(false) --- Iteration 97 -- bool(false) +-- Iteration 107 -- array 5 -- double:-2 bool(false) bool(false) --- Iteration 98 -- bool(false) +-- Iteration 108 -- array 5 -- double:-2.98989 bool(false) bool(false) --- Iteration 99 -- bool(false) +-- Iteration 109 -- array 5 -- string:"-.9" bool(false) bool(false) --- Iteration 100 -- bool(false) +-- Iteration 110 -- array 5 -- string:"True" bool(false) bool(false) --- Iteration 101 -- +bool(false) +-- Iteration 111 -- array 5 -- string:"" bool(true) bool(true) bool(true) --- Iteration 102 -- +-- Iteration 112 -- array 5 -- array:[] bool(true) bool(true) bool(true) --- Iteration 103 -- +-- Iteration 113 -- array 5 -- NULL:null bool(true) bool(false) bool(true) --- Iteration 104 -- +-- Iteration 114 -- array 5 -- string:"ab" +bool(false) +bool(false) +bool(false) +-- Iteration 115 -- array 5 -- string:"abcd" +bool(false) bool(false) bool(false) +-- Iteration 116 -- array 5 -- double:0 bool(false) --- Iteration 105 -- bool(false) bool(false) +-- Iteration 117 -- array 5 -- integer:0 bool(false) --- Iteration 106 -- bool(false) bool(false) +-- Iteration 118 -- array 5 -- string:"abcd\u0000abcd\u0000abcd" bool(false) --- Iteration 107 -- bool(false) bool(false) +-- Iteration 119 -- array 5 -- \Sample::A bool(false) --- Iteration 108 -- bool(false) bool(false) +-- Iteration 120 -- array 5 -- \Sample::B bool(false) --- Iteration 109 -- bool(false) bool(false) +-- Iteration 121 -- array 6 -- integer:4 bool(false) --- Iteration 110 -- bool(false) bool(false) +-- Iteration 122 -- array 6 -- string:"4" bool(false) --- Iteration 111 -- bool(false) bool(false) +-- Iteration 123 -- array 6 -- double:4 bool(false) --- Iteration 112 -- bool(false) bool(false) +-- Iteration 124 -- array 6 -- string:"b" bool(false) --- Iteration 113 -- bool(false) bool(false) +-- Iteration 125 -- array 6 -- string:"5" bool(false) --- Iteration 114 -- bool(false) bool(false) +-- Iteration 126 -- array 6 -- integer:-2 bool(false) --- Iteration 115 -- bool(false) bool(false) +-- Iteration 127 -- array 6 -- double:-2 bool(false) --- Iteration 116 -- bool(false) bool(false) +-- Iteration 128 -- array 6 -- double:-2.98989 bool(false) --- Iteration 117 -- bool(false) bool(false) +-- Iteration 129 -- array 6 -- string:"-.9" bool(false) --- Iteration 118 -- bool(false) bool(false) +-- Iteration 130 -- array 6 -- string:"True" bool(false) --- Iteration 119 -- bool(false) bool(false) +-- Iteration 131 -- array 6 -- string:"" bool(false) --- Iteration 120 -- bool(false) bool(false) +-- Iteration 132 -- array 6 -- array:[] bool(false) --- Iteration 121 -- bool(false) bool(false) +-- Iteration 133 -- array 6 -- NULL:null bool(false) --- Iteration 122 -- bool(false) bool(false) +-- Iteration 134 -- array 6 -- string:"ab" bool(false) --- Iteration 123 -- bool(false) bool(false) +-- Iteration 135 -- array 6 -- string:"abcd" bool(false) --- Iteration 124 -- bool(false) bool(false) +-- Iteration 136 -- array 6 -- double:0 bool(false) --- Iteration 125 -- bool(false) bool(false) +-- Iteration 137 -- array 6 -- integer:0 bool(false) --- Iteration 126 -- +bool(false) +bool(false) +-- Iteration 138 -- array 6 -- string:"abcd\u0000abcd\u0000abcd" bool(true) bool(true) bool(true) --- Iteration 127 -- +-- Iteration 139 -- array 6 -- \Sample::A +bool(false) +bool(false) +bool(false) +-- Iteration 140 -- array 6 -- \Sample::B +bool(false) +bool(false) +bool(false) +-- Iteration 141 -- array 7 -- integer:4 +bool(false) +bool(false) +bool(false) +-- Iteration 142 -- array 7 -- string:"4" +bool(false) +bool(false) +bool(false) +-- Iteration 143 -- array 7 -- double:4 +bool(false) +bool(false) +bool(false) +-- Iteration 144 -- array 7 -- string:"b" +bool(false) +bool(false) +bool(false) +-- Iteration 145 -- array 7 -- string:"5" +bool(false) +bool(false) +bool(false) +-- Iteration 146 -- array 7 -- integer:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 147 -- array 7 -- double:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 148 -- array 7 -- double:-2.98989 +bool(false) +bool(false) +bool(false) +-- Iteration 149 -- array 7 -- string:"-.9" +bool(false) +bool(false) +bool(false) +-- Iteration 150 -- array 7 -- string:"True" +bool(false) +bool(false) +bool(false) +-- Iteration 151 -- array 7 -- string:"" +bool(false) +bool(false) +bool(false) +-- Iteration 152 -- array 7 -- array:[] +bool(false) +bool(false) +bool(false) +-- Iteration 153 -- array 7 -- NULL:null +bool(false) +bool(false) +bool(false) +-- Iteration 154 -- array 7 -- string:"ab" +bool(false) bool(false) bool(false) +-- Iteration 155 -- array 7 -- string:"abcd" bool(false) --- Iteration 128 -- bool(false) bool(false) +-- Iteration 156 -- array 7 -- double:0 bool(false) --- Iteration 129 -- bool(false) bool(false) +-- Iteration 157 -- array 7 -- integer:0 bool(false) --- Iteration 130 -- bool(false) bool(false) +-- Iteration 158 -- array 7 -- string:"abcd\u0000abcd\u0000abcd" bool(false) --- Iteration 131 -- bool(false) bool(false) +-- Iteration 159 -- array 7 -- \Sample::A bool(false) --- Iteration 132 -- bool(false) bool(false) +-- Iteration 160 -- array 7 -- \Sample::B bool(false) --- Iteration 133 -- bool(false) bool(false) +-- Iteration 161 -- array 8 -- integer:4 bool(false) --- Iteration 134 -- bool(false) bool(false) +-- Iteration 162 -- array 8 -- string:"4" bool(false) --- Iteration 135 -- bool(false) bool(false) +-- Iteration 163 -- array 8 -- double:4 bool(false) --- Iteration 136 -- bool(false) bool(false) +-- Iteration 164 -- array 8 -- string:"b" bool(false) --- Iteration 137 -- bool(false) bool(false) +-- Iteration 165 -- array 8 -- string:"5" bool(false) --- Iteration 138 -- bool(false) bool(false) +-- Iteration 166 -- array 8 -- integer:-2 bool(false) --- Iteration 139 -- bool(false) bool(false) +-- Iteration 167 -- array 8 -- double:-2 bool(false) --- Iteration 140 -- bool(false) bool(false) +-- Iteration 168 -- array 8 -- double:-2.98989 bool(false) --- Iteration 141 -- bool(false) bool(false) +-- Iteration 169 -- array 8 -- string:"-.9" bool(false) --- Iteration 142 -- bool(false) bool(false) +-- Iteration 170 -- array 8 -- string:"True" bool(false) --- Iteration 143 -- bool(false) bool(false) +-- Iteration 171 -- array 8 -- string:"" bool(false) --- Iteration 144 -- +bool(false) +bool(false) +-- Iteration 172 -- array 8 -- array:[] +bool(false) +bool(false) +bool(false) +-- Iteration 173 -- array 8 -- NULL:null +bool(false) +bool(false) +bool(false) +-- Iteration 174 -- array 8 -- string:"ab" +bool(false) +bool(false) +bool(false) +-- Iteration 175 -- array 8 -- string:"abcd" +bool(false) +bool(false) +bool(false) +-- Iteration 176 -- array 8 -- double:0 +bool(false) +bool(false) +bool(false) +-- Iteration 177 -- array 8 -- integer:0 +bool(false) +bool(false) +bool(false) +-- Iteration 178 -- array 8 -- string:"abcd\u0000abcd\u0000abcd" +bool(false) +bool(false) +bool(false) +-- Iteration 179 -- array 8 -- \Sample::A +bool(true) +bool(true) +bool(true) +-- Iteration 180 -- array 8 -- \Sample::B +bool(false) +bool(false) +bool(false) +-- Iteration 181 -- array 9 -- integer:4 +bool(true) +bool(true) +bool(true) +-- Iteration 182 -- array 9 -- string:"4" +bool(true) +bool(false) +bool(true) +-- Iteration 183 -- array 9 -- double:4 +bool(true) +bool(false) +bool(true) +-- Iteration 184 -- array 9 -- string:"b" +bool(false) +bool(false) +bool(false) +-- Iteration 185 -- array 9 -- string:"5" +bool(false) +bool(false) +bool(false) +-- Iteration 186 -- array 9 -- integer:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 187 -- array 9 -- double:-2 +bool(false) +bool(false) +bool(false) +-- Iteration 188 -- array 9 -- double:-2.98989 +bool(false) +bool(false) +bool(false) +-- Iteration 189 -- array 9 -- string:"-.9" +bool(false) +bool(false) +bool(false) +-- Iteration 190 -- array 9 -- string:"True" +bool(false) +bool(false) +bool(false) +-- Iteration 191 -- array 9 -- string:"" +bool(true) +bool(false) +bool(true) +-- Iteration 192 -- array 9 -- array:[] +bool(true) +bool(false) +bool(true) +-- Iteration 193 -- array 9 -- NULL:null +bool(true) +bool(true) +bool(true) +-- Iteration 194 -- array 9 -- string:"ab" +bool(false) +bool(false) +bool(false) +-- Iteration 195 -- array 9 -- string:"abcd" +bool(false) +bool(false) +bool(false) +-- Iteration 196 -- array 9 -- double:0 +bool(true) +bool(false) +bool(true) +-- Iteration 197 -- array 9 -- integer:0 +bool(true) +bool(false) +bool(true) +-- Iteration 198 -- array 9 -- string:"abcd\u0000abcd\u0000abcd" +bool(false) +bool(false) +bool(false) +-- Iteration 199 -- array 9 -- \Sample::A +bool(true) +bool(true) +bool(true) +-- Iteration 200 -- array 9 -- \Sample::B bool(false) bool(false) bool(false) From c64920ffbd104445efd6d5d5e0a168f0da31be47 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Fri, 30 Jan 2026 17:25:40 +0100 Subject: [PATCH 2/4] split test data --- .../tests/array/in_array_variation1.phpt | 105 ++------------ .../tests/array/in_array_with_ref.phpt | 137 +++++++++++++++++- 2 files changed, 145 insertions(+), 97 deletions(-) diff --git a/ext/standard/tests/array/in_array_variation1.phpt b/ext/standard/tests/array/in_array_variation1.phpt index 83c774c91d68e..578303eeaf999 100644 --- a/ext/standard/tests/array/in_array_variation1.phpt +++ b/ext/standard/tests/array/in_array_variation1.phpt @@ -15,18 +15,17 @@ $refVar2 = 4; $refVar3 = -2.989888; $refVar4 = NULL; $refVar5 = Sample::A; -$arrays = array ( - 0 => array(0), - 1 => array("a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"), - 2 => array(4, array(1, 2 => 3), "one" => 1, "5" => 5 ), - 3 => array(-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2 => "float2", "-.9" => -.9), - 4 => array(TRUE, FALSE), - 5 => array("", array()), - 6 => array("abcd\x00abcd\x00abcd"), - 7 => array("abcd\tabcd\nabcd\rabcd\0abcdefghij"), - 8 => array(Sample::A), - 9 => array(&$refVar2, &$refVar, &$refVar3, &$refVar4, &$refVar5), -); +$arrays = [ + [0], + ["a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"], + [4, [1, 2 => 3], "one" => 1, "5" => 5 ], + [-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2 => "float2", "-.9" => -.9], + [TRUE, FALSE], + ["", []], + ["abcd\x00abcd\x00abcd"], + ["abcd\tabcd\nabcd\rabcd\0abcdefghij"], + [Sample::A], +]; $array_compare = array ( 4, @@ -40,7 +39,7 @@ $array_compare = array ( "-.9", "True", "", - array(), + [], NULL, "ab", "abcd", @@ -797,84 +796,4 @@ bool(true) bool(false) bool(false) bool(false) --- Iteration 181 -- array 9 -- integer:4 -bool(true) -bool(true) -bool(true) --- Iteration 182 -- array 9 -- string:"4" -bool(true) -bool(false) -bool(true) --- Iteration 183 -- array 9 -- double:4 -bool(true) -bool(false) -bool(true) --- Iteration 184 -- array 9 -- string:"b" -bool(false) -bool(false) -bool(false) --- Iteration 185 -- array 9 -- string:"5" -bool(false) -bool(false) -bool(false) --- Iteration 186 -- array 9 -- integer:-2 -bool(false) -bool(false) -bool(false) --- Iteration 187 -- array 9 -- double:-2 -bool(false) -bool(false) -bool(false) --- Iteration 188 -- array 9 -- double:-2.98989 -bool(false) -bool(false) -bool(false) --- Iteration 189 -- array 9 -- string:"-.9" -bool(false) -bool(false) -bool(false) --- Iteration 190 -- array 9 -- string:"True" -bool(false) -bool(false) -bool(false) --- Iteration 191 -- array 9 -- string:"" -bool(true) -bool(false) -bool(true) --- Iteration 192 -- array 9 -- array:[] -bool(true) -bool(false) -bool(true) --- Iteration 193 -- array 9 -- NULL:null -bool(true) -bool(true) -bool(true) --- Iteration 194 -- array 9 -- string:"ab" -bool(false) -bool(false) -bool(false) --- Iteration 195 -- array 9 -- string:"abcd" -bool(false) -bool(false) -bool(false) --- Iteration 196 -- array 9 -- double:0 -bool(true) -bool(false) -bool(true) --- Iteration 197 -- array 9 -- integer:0 -bool(true) -bool(false) -bool(true) --- Iteration 198 -- array 9 -- string:"abcd\u0000abcd\u0000abcd" -bool(false) -bool(false) -bool(false) --- Iteration 199 -- array 9 -- \Sample::A -bool(true) -bool(true) -bool(true) --- Iteration 200 -- array 9 -- \Sample::B -bool(false) -bool(false) -bool(false) Done diff --git a/ext/standard/tests/array/in_array_with_ref.phpt b/ext/standard/tests/array/in_array_with_ref.phpt index 2ad3667d2326d..d46d3dd6a1735 100644 --- a/ext/standard/tests/array/in_array_with_ref.phpt +++ b/ext/standard/tests/array/in_array_with_ref.phpt @@ -3,12 +3,141 @@ in_array() with references --FILE-- --EXPECT-- +-- Iteration -- integer:4 +bool(true) +bool(true) +bool(true) +-- Iteration -- string:"4" +bool(true) +bool(false) +bool(true) +-- Iteration -- double:4 +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"b" +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"5" +bool(true) +bool(false) +bool(true) +-- Iteration -- integer:-2 +bool(true) +bool(false) +bool(true) +-- Iteration -- double:-2 +bool(true) +bool(false) +bool(true) +-- Iteration -- double:-2.98989 +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"-.9" +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"True" +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"" +bool(true) +bool(false) +bool(true) +-- Iteration -- array:[] +bool(true) +bool(true) +bool(true) +-- Iteration -- NULL:null +bool(true) +bool(true) +bool(true) +-- Iteration -- string:"ab" +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"abcd" +bool(true) +bool(false) +bool(true) +-- Iteration -- double:0 +bool(true) +bool(false) +bool(true) +-- Iteration -- integer:0 +bool(true) +bool(false) +bool(true) +-- Iteration -- string:"abcd\u0000abcd\u0000abcd" +bool(true) +bool(false) +bool(true) +-- Iteration -- \Sample::A +bool(true) +bool(true) +bool(true) +-- Iteration -- \Sample::B bool(true) +bool(false) bool(true) +Done \ No newline at end of file From 24a4f05de3e1a322f77f05500e7af08847e82ca0 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Fri, 30 Jan 2026 17:30:29 +0100 Subject: [PATCH 3/4] [skip ci] EOL --- ext/standard/tests/array/in_array_with_ref.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/tests/array/in_array_with_ref.phpt b/ext/standard/tests/array/in_array_with_ref.phpt index d46d3dd6a1735..0ffd8a0d8eb1b 100644 --- a/ext/standard/tests/array/in_array_with_ref.phpt +++ b/ext/standard/tests/array/in_array_with_ref.phpt @@ -140,4 +140,4 @@ bool(true) bool(true) bool(false) bool(true) -Done \ No newline at end of file +Done From 0a404316f17a61f5f4637eaf4c15ab3efd05cf04 Mon Sep 17 00:00:00 2001 From: Jorg Sowa Date: Fri, 30 Jan 2026 17:32:29 +0100 Subject: [PATCH 4/4] remove reference variables --- ext/standard/tests/array/in_array_variation1.phpt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ext/standard/tests/array/in_array_variation1.phpt b/ext/standard/tests/array/in_array_variation1.phpt index 578303eeaf999..6ee0d377d0e5d 100644 --- a/ext/standard/tests/array/in_array_variation1.phpt +++ b/ext/standard/tests/array/in_array_variation1.phpt @@ -10,11 +10,6 @@ enum Sample { } echo "*** Testing in_array() with different needle values ***\n"; -$refVar = "B"; -$refVar2 = 4; -$refVar3 = -2.989888; -$refVar4 = NULL; -$refVar5 = Sample::A; $arrays = [ [0], ["a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b", "ab", "abcd"],