We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 39630b1 commit ba27decCopy full SHA for ba27dec
tests/PHPStan/Analyser/nsrt/bug-11928.php
@@ -15,13 +15,23 @@ function doFoo()
15
assertType('array{2, 3, 4}', $keys);
16
}
17
18
-function doFooStrings() {
+/**
19
+ * @param array<1|2|3, 4|5|6> $unionKeyedArray
20
+ * @return void
21
+ */
22
+function doFooStrings($unionKeyedArray) {
23
$a = [2 => 'hi', 3 => '123', 'xy' => 5];
24
$keys = array_keys($a, 1);
25
assertType("list<2|3|'xy'>", $keys);
26
27
$keys = array_keys($a);
28
assertType("array{2, 3, 'xy'}", $keys);
29
+
30
+ $keys = array_keys($unionKeyedArray, 1);
31
+ assertType("list<1|2|3>", $keys); // could be array{}
32
33
+ $keys = array_keys($unionKeyedArray);
34
+ assertType("list<1|2|3>", $keys);
35
36
37
/**
0 commit comments