PhpStorm
 
Get PhpStorm
You are viewing the documentation for an earlier version of PhpStorm.

Code Inspection: 'foreach' variable overwrites already defined variable

Last modified: 16 May 2022

Reports the keys and values in foreach loops that are assigned a non-primitive value before the foreach loop and are accessed after it. Such usages may unwillingly overwrite an already defined value and cause latent bugs.

In the following example, the $value variable is initially assigned the result of calling foo(). When iterating over the myArr array, the value of the current element is assigned to and overwrites $value on each iteration. To avoid potential bugs, a new $val variable is used inside the foreach loop.