diff --git a/rules/code-quality/src/Rector/For_/ForToForeachRector.php b/rules/code-quality/src/Rector/For_/ForToForeachRector.php index 082c5eec63b..fdd3c5834df 100644 --- a/rules/code-quality/src/Rector/For_/ForToForeachRector.php +++ b/rules/code-quality/src/Rector/For_/ForToForeachRector.php @@ -138,6 +138,11 @@ CODE_SAMPLE return null; } + $init = $node->init; + if (count($init) > 2) { + return null; + } + $iteratedVariableSingle = $this->inflector->singularize($iteratedVariable); $foreach = $this->createForeach($node, $iteratedVariableSingle); diff --git a/rules/code-quality/tests/Rector/For_/ForToForeachRector/Fixture/skip_complex_init.php.inc b/rules/code-quality/tests/Rector/For_/ForToForeachRector/Fixture/skip_complex_init.php.inc new file mode 100644 index 00000000000..f75cc983a01 --- /dev/null +++ b/rules/code-quality/tests/Rector/For_/ForToForeachRector/Fixture/skip_complex_init.php.inc @@ -0,0 +1,23 @@ +getResult(), $c = count($query); $i < $c; $i ++) + { + echo $query[$i]; + } + } +} + +?>