Fork me on GitHub
a Sensio Labs Product

15 Keys (v3.52.1) edition

Rule no_unneeded_control_parentheses

Removes unneeded parentheses around control statements.

Configuration

statements

List of control statements to fix.

Allowed values: a subset of ['break', 'clone', 'continue', 'echo_print', 'negative_instanceof', 'others', 'return', 'switch_case', 'yield', 'yield_from']

Default value: ['break', 'clone', 'continue', 'echo_print', 'return', 'switch_case', 'yield']

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
-while ($x) { while ($y) { break (2); } }
-clone($a);
-while ($y) { continue (2); }
-echo("foo");
-print("foo");
-return (1 + 2);
-switch ($a) { case($x); }
-yield(2);
+while ($x) { while ($y) { break 2; } }
+clone $a;
+while ($y) { continue 2; }
+echo "foo";
+print "foo";
+return 1 + 2;
+switch ($a) { case $x; }
+yield 2;

Example #2

With configuration: ['statements' => ['break', 'continue']].

--- Original
+++ New
 <?php
-while ($x) { while ($y) { break (2); } }
+while ($x) { while ($y) { break 2; } }

 clone($a);

-while ($y) { continue (2); }
+while ($y) { continue 2; }

Rule sets

The rule is part of the following rule sets:

  • @PhpCsFixer with config:

    ['statements' => ['break', 'clone', 'continue', 'echo_print', 'negative_instanceof', 'others', 'return', 'switch_case', 'yield', 'yield_from']]

  • @Symfony with config:

    ['statements' => ['break', 'clone', 'continue', 'echo_print', 'others', 'return', 'switch_case', 'yield', 'yield_from']]

References

The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.