<?php
$result = 1 + 2;
$result = 1 + 2;
$result = 1 + 2;
$result = 1 + 2;
$result = 1 + 2;
$result = 1 + 2;
$result = 1 - 2;
$result = 1 - 2;
$result = 1 - 2;
$result = 1 - 2;
$result = 1 - 2;
$result = 1 - 2;
$result = 1 * 2;
$result = 1 * 2;
$result = 1 * 2;
$result = 1 * 2;
$result = 1 * 2;
$result = 1 * 2;
$result = 1 / 2;
$result = 1 / 2;
$result = 1 / 2;
$result = 1 / 2;
$result = 1 / 2;
$result = 1 / 2;
$result = 1 % 2;
$result = 1 % 2;
$result = 1 % 2;
$result = 1 % 2;
$result = 1 % 2;
$result = 1 % 2;
$result = '100%';
$result += 4;
$result += 4;
$result -= 4;
$result -= 4;
$result /= 4;
$result /= 4;
$result *= 4;
$result *= 4;
$result =& $thing;
if ($result & 4) {
if ($result | 4) {
}
}
if ($result & 4 && $result & 4) {
if ($result | 4 || $result | 4) {
}
}
$result = ((1 + 2) - (3 * 4 / 5) % 6);
$result = ((1 + 2) - (3 * 4 / 5) % 6);
return -1;
$file = '...'.substr($file, (($padding * -1) + 3));
$totalErrors += $errors['errors'];
$totalWarnings += $errors['warnings'];
if (substr($line, 0, 3) === '/**') {
$line = substr($line, 3);
} else if (substr($line, -2, 2) === '*/') {
$line = substr(-2, 0, -2);
} else if ($line{0} === '*') {
$line = substr($line, 1);
}
if ($pos === -1) {
}
for ($i = 0; $i <= 5; $i++) {
$j ^= $i;
$k %= $i;
$l &= $i;
$m .= 'Hello ';
}
$z = ($a + $b - $c * $d / $e % $f ^ $g);
$z = ($a + $b - $c * $d / $e % $f ^ $g);
$a == $b && $c != $d && $e === $f && $g !== $h;
$i > $j && $k < $l && $m >= $n && $o <= $p && $q <> $r;
$a == $b && $c != $d && $e === $f && $g !== $h;
$i > $j && $k < $l && $m >= $n && $o <= $p && $q <> $r;
function myFunction($variable=0, $var2='string') {}
if (index > -1) {
}
array_walk_recursive($array, function(&$item) use (&$something) {
});
$var = saveFile(&$model, &$foo);
// This is all valid.
$boo = -$foo;
function foo($boo = -1) {}
$foo = array('boo' => -1);
$x = $test ? -1 : 1;
$y = $test ? 1 : -1;
$z = $test ?: false;
$closureWithDefaultParameter = function (array $testArray=array()) {};
switch ($foo) {
case -1:
break;
}
$y = 1 * -1;
$y = -1 * 1;
$y = -1 * $var;
$y = 10 / -2;
$y = -10 / 2;
$y = (-10 / 2);
$y = (-10 / $var);
$y = 10 + -2;
$y = -10 + 2;
$a = $x ? $y : $z;
$a = $x ? $y : $z;
$y = 1 + 2 - 3;
$y = 1 + 2 - 3;
$y = 1 + 2 - 3;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreNewlines true
$y = 1
+ 2
- 3;
$y = 1 +
2 -
3;
$y = 1
+ 2
- 3;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreNewlines false
if (true || -1 == $b) {
}
$var = array(-1);
$var = [-1];
$var = [0, -1, -2];
$y = array(&$x);
$y = [&$x];
$y = array(&$a, &$b, &$c);
$y = [&$a, &$b, &$c];
$y = array(&$a => 1, 2 => &$b, &$c);
$y = [&$a => 1, 2 => &$b, &$c];
if ($a <=> $b) {
}
if ($a <=> $b) {
}
$a |= $b;
$a **= $b;
$a ??= $b;
$a = +1;
function bar($boo = +1) {}
$username = $_GET['user'] ?? 'nobody';
function foo(string $bar, array $baz, ?MyClass $object) : MyClass {}
declare(strict_types=1);
function foo($c = ((BAR) ? 10 : 100)) {}
$res = $a ?: $b;
$res = $a ?: $b;
$res = $a ?: $b;
$res = $a ?: $b;
$res = $a ? : $b;
$res = $a ? : $b;
$res = $a ? : $b;
$res = $a ? : $b;
function foo(string $a = '', ?string $b = ''): ?string {}
// Issue #1605.
$text = preg_replace_callback(
self::CHAR_REFS_REGEX,
[ 'Sanitizer', 'decodeCharReferencesCallback' ],
$text, /* limit */ -1, $count );
if (true || /* test */ -1 == $b) {}
$y = 10 + /* test */ -2;
// Issue #1604.
Hooks::run( 'ParserOptionsRegister', [
&self::$defaults,
&self::$inCacheKey,
&self::$lazyOptions,
] );
$x = $foo ? function (): int {
return 1;
} : $bar;
$x = $foo ? function ($foo)
// comment
: int {
return 1;
} : $bar;
$x = $foo ? function ($foo) use /* comment */ ($bar): int {
return 1;
} : $bar;
$x = !$foo ? $bar : function (): int {
return 1;
};
$a =
// Comment.
[
'a',
'b',
];
$a =
// phpcs:ignore Standard.Category.Sniff -- for reasons.
[
'a',
'b',
];
$foo = is_array($bar) ? array_map(
function () {},
$bar
) : $bar;
function bar(): array {}
if ($line{-1} === ':') {
$line = substr($line, 0, -1);
}
$a = $a instanceof $b;
$a = $a instanceof $b;
$a = ($a) instanceof $b;
fn&($x) => $x;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreSpacingBeforeAssignments false
$a = 3;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreSpacingBeforeAssignments true
yield -1;
echo -1;
$a = -1;
func(-1);
$a = [-1];
return -1;
print -1;
$a &= -1;
switch ($a) {
case -1:
}
$a = $a ?? -1;
$a .= -1;
$a /= -1;
$a = [1 => -1];
$a = $a == -1;
$a = $a >= -1;
$a = $a === -1;
$a = $a != -1;
$a = $a !== -1;
$a = $a <= -1;
$a = $a <=> -1;
$a = $a and -1;
$a = $a or -1;
$a = $a xor -1;
$a -= -1;
$a %= -1;
$a *= -1;
$a |= -1;
$a += -1;
$a = $a ** -1;
$a **= -1;
$a = $a << -1;
$a <<= -1;
$a = $a >> -1;
$a >>= -1;
$a = (string) -1;
$a = (array) -1;
$a = (bool) -1;
$a = (object) -1;
$a = (unset) -1;
$a = (float) -1;
$a = (int) -1;
$a ^= -1;
$a = [$a, -1];
$a = $a[-1];
$a = $a ? -1 : -1;
yield - 1;
echo - 1;
$a = - 1;
func(- 1);
$a = [- 1];
return - 1;
print - 1;
$a &= - 1;
switch ($a) {
case - 1:
}
$a = $a ?? - 1;
$a .= - 1;
$a /= - 1;
$a = [1 => - 1];
$a = $a == - 1;
$a = $a >= - 1;
$a = $a === - 1;
$a = $a != - 1;
$a = $a !== - 1;
$a = $a <= - 1;
$a = $a <=> - 1;
$a = $a and - 1;
$a = $a or - 1;
$a = $a xor - 1;
$a -= - 1;
$a %= - 1;
$a *= - 1;
$a |= - 1;
$a += - 1;
$a = $a ** - 1;
$a **= - 1;
$a = $a << - 1;
$a <<= - 1;
$a = $a >> - 1;
$a >>= - 1;
$a = (string) - 1;
$a = (array) - 1;
$a = (bool) - 1;
$a = (object) - 1;
$a = (unset) - 1;
$a = (float) - 1;
$a = (int) - 1;
$a ^= - 1;
$a = [$a, - 1];
$a = $a[- 1];
$a = $a ? - 1 : - 1;
yield -$b;
echo -$b;
$a = -$b;
func(-$b);
$a = [-$b];
return -$b;
print -$b;
$a &= -$b;
switch ($a) {
case -$b:
}
$a = $a ?? -$b;
$a .= -$b;
$a /= -$b;
$a = [1 => -$b];
$a = $a == -$b;
$a = $a >= -$b;
$a = $a === -$b;
$a = $a != -$b;
$a = $a !== -$b;
$a = $a <= -$b;
$a = $a <=> -$b;
$a = $a and -$b;
$a = $a or -$b;
$a = $a xor -$b;
$a -= -$b;
$a %= -$b;
$a *= -$b;
$a |= -$b;
$a += -$b;
$a = $a ** -$b;
$a **= -$b;
$a = $a << -$b;
$a <<= -$b;
$a = $a >> -$b;
$a >>= -$b;
$a = (string) -$b;
$a = (array) -$b;
$a = (bool) -$b;
$a = (object) -$b;
$a = (unset) -$b;
$a = (float) -$b;
$a = (int) -$b;
$a ^= -$b;
$a = [$a, -$b];
$a = $a[-$b];
$a = $a ? -$b : -$b;
yield - $b;
echo - $b;
$a = - $b;
func(- $b);
$a = [- $b];
return - $b;
print - $b;
$a &= - $b;
switch ($a) {
case - $b:
}
$a = $a ?? - $b;
$a .= - $b;
$a /= - $b;
$a = [1 => - $b];
$a = $a == - $b;
$a = $a >= - $b;
$a = $a === - $b;
$a = $a != - $b;
$a = $a !== - $b;
$a = $a <= - $b;
$a = $a <=> - $b;
$a = $a and - $b;
$a = $a or - $b;
$a = $a xor - $b;
$a -= - $b;
$a %= - $b;
$a *= - $b;
$a |= - $b;
$a += - $b;
$a = $a ** - $b;
$a **= - $b;
$a = $a << - $b;
$a <<= - $b;
$a = $a >> - $b;
$a >>= - $b;
$a = (string) - $b;
$a = (array) - $b;
$a = (bool) - $b;
$a = (object) - $b;
$a = (unset) - $b;
$a = (float) - $b;
$a = (int) - $b;
$a ^= - $b;
$a = [$a, - $b];
$a = $a[- $b];
$a = $a ? - $b : - $b;
exit -1;
$cl = function ($boo =-1) {};
$cl = function ($boo =+1) {};
$fn = fn ($boo =-1) => $boo;
$fn = fn ($boo =+1) => $boo;
$fn = static fn(DateTime $a, DateTime $b): int => -($a->getTimestamp() <=> $b->getTimestamp());
$a = 'a '.-MY_CONSTANT;
$a = 'a '.-$b;
$a = 'a '.- MY_CONSTANT;
$a = 'a '.- $b;
match ($a) {
'a' => -1,
'b', 'c', 'd' => -2,
default => -3,
};
$foo = $var ? 10 : true;
// Safeguard that a non-fixable error is thrown when there is a new line before the operator,
// but the last non-whitespace token before the operator is a comment token.
$foo = $var // Comment
? false /* Comment */
: true;
$foo = $var // phpcs: ignore Stnd.Cat.Sniff -- for reasons.
? $something /**
* Don't ask, but someone might have a docblock between the lines. It's valid PHP after all.
*/
: true;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreNewlines true
$foo = $var // Comment
? false // Comment
: true;
// phpcs:set Squiz.WhiteSpace.OperatorSpacing ignoreNewlines false
|