Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offset string&numeric on array<string, string> in isset() does not exist #4671

Closed
BackEndTea opened this issue Mar 6, 2021 · 2 comments
Closed

Comments

@BackEndTea
Copy link
Contributor

Bug report

Casting an int to a string, and then using isset with that key for an array with string keys reports that it can never exist.

Code snippet that reproduces the problem

https://phpstan.org/r/9ecc3acb-f438-4cd8-9490-05601d4bd7ee

Expected output

No errors

Potentially related to #4163

@ondrejmirtes
Copy link
Member

I'm actually pleasantly surprised PHPStan found this because it's an issue in your code. See, numeric string gets always cast to an integer in an array key. And integer isn't a valid key in your array<string, string> array...

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 29, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants