vimeo/psalm

array_unique 2nd parameter may restrict the array items type

Open

#7 956 ouverte le 13 mai 2022

Voir sur GitHub
 (11 commentaires) (0 réactions) (0 assignés)PHP (668 forks)batch import
Help wantedeasy problemsinternal stubs/callmap

Métriques du dépôt

Stars
 (5 369 stars)
Métriques de merge PR
 (Merge moyen 3j 12h) (5 PRs mergées en 30 j)

Description

Hi,

the array_unique() function has an optional 2nd parameter flag, which is one of the following value:

  • SORT_REGULAR
  • SORT_NUMERIC
  • SORT_STRING (default value)
  • SORT_LOCALE_STRING

if the flag is one of SORT_LOCALE or SORT_LOCALE_STRING, the array should only contain strings or values that can be casted to string. I'm not sure exactly what the definition should be, maybe: int|float|string|bool|\Stringable|null

Here we can see it fail : https://3v4l.org/lJsCp

and here we can see that Psalm does not find any error: https://psalm.dev/r/2135f5de25


edit: I realized that the SORT_NUMERIC also restrict the item type, probably something like int|float|string|null

Guide contributeur