<?php 
 
// OK. 
if ($a === 123) { 
} elseif ($a == 123) { 
} elseif ($a !== 123) { 
} elseif ($a != 123) {} 
 
function abc( $a = 'default' ) {} 
if (in_array( $a, array( 1 => 'a', 2 => 'b' ) ) ) {} 
 
switch ( $a === $b ) {} 
switch ( true ) { 
    case $sample == 'something': 
        break; 
} 
 
for ( $i = 0; $i == 100; $i++ ) {} 
for ( $i = 0; $i >= 100; $i++ ) {} 
for ( $i = 0; ; $i++ ) {} 
for (;;) {} 
 
do { 
} while ( $sample == false ); 
 
while ( $sample === false ) {} 
 
// Silly, but not an assignment. 
if (123 = $a) {} 
if (strtolower($b) = $b) {} 
if (array( 1 => 'a', 2 => 'b' ) = $b) {} 
 
if (SOME_CONSTANT = 123) { 
} else if(self::SOME_CONSTANT -= 10) {} 
 
if ( $a() = 123 ) { 
} else if ( $b->something() = 123 ) { 
} elseif ( $c::something() = 123 ) {} 
 
switch ( true ) { 
    case 'something' = $sample: 
        break; 
} 
 
// Assignments in condition. 
if ($a = 123) { 
} elseif ($a = 'abc') { 
} else if( $a += 10 ) { 
} else if($a -= 10) { 
} else if($a *= 10) { 
} else if($a **= 10) { 
} else if($a /= 10) { 
} else if($a .= strtolower($b)) { 
} else if($a %= SOME_CONSTANT) { 
} else if($a &= 2) { 
} else if($a |= 2) { 
} else if($a ^= 2) { 
} else if($a <<= 2) { 
} else if($a >>= 2) { 
} else if($a ??= $b) { 
} elseif( $a = 'abc' && $b = 'def' ) { 
} elseif( 
    $a = 'abc' 
    && $a .= 'def' 
) {} 
 
if ($a[] = 123) { 
} elseif ($a['something'] = 123) { 
} elseif (self::$a = 123) { 
} elseif (parent::$a *= 123) { 
} elseif (static::$a = 123) { 
} elseif (MyClass::$a .= 'abc') { 
} else if( $this->something += 10 ) {} 
 
switch ( $a = $b ) {} 
switch ( true ) { 
    case $sample = 'something': 
        break; 
 
    case $sample = 'something' && $a = $b: 
        break; 
} 
 
for ( $i = 0; $i = 100; $i++ ) {} 
for ( $i = 0; $i = 100 && $b = false; $i++ ) {} 
 
do { 
} while ( $sample = false ); 
 
while ( $sample = false ) {} 
 
if ($a = 123) : 
endif; 
 
match ($a[0] = 123) {}; 
 
 |