Skip to content

UnusedVariable reported when set in loop #2007

@muzcb

Description

@muzcb

A variable set in a foreach loop gets falsely reported as unused.

<?php
class UnusedAfterForeach
{
    public function getLastNum(): int
    {
        foreach ([1] as $num) {
            $last = $num;
        }
        return $last;
    }
}

echo (new UnusedAfterForeach())->getLastNum();
ERROR: UnusedVariable - src\UnusedAfterForeach.php:7:13 - Variable $last is never referenced
            $last = $num;

https://psalm.dev/r/495531ea84

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions