LiteralKeyUnshapedArray
Emitted when a literal key is used on an unshaped array, enabled by the disallowLiteralKeysOnUnshapedArrays config parameter.
Useful to enforce usage of shaped arrays instead of generic arrays.
<?php
/**
* @param array<string, bool> $arr
*/
function takesGenericArr(array $arr): void {
// Error: LiteralKeyUnshapedArray
$flagA = $arr['flagA'];
// Error: LiteralKeyUnshapedArray
$flagB = $arr['flagB'];
}
/**
* @param array{flagA: bool, flagB: bool} $arr
*/
function takesShapedArr(array $arr): void {
// OK
$flagA = $arr['flagA'];
// OK
$flagB = $arr['flagB'];
}