== Why is this an issue?

include::../description.adoc[]

=== Exceptions

This rule ignores assignments in conditions of `while` statements and assignments enclosed in relational expressions.

[source,php]
----
while (($line = next_line()) != NULL) {...}

while ($line = next_line()) {...}
----

== How to fix it

include::../how-to-fix-it.adoc[]

=== Code examples

==== Noncompliant code example

[source,php,diff-id=1,diff-type=noncompliant]
----
if (($val = value()) && check()) { // Noncompliant
}
----

==== Compliant solution

[source,php,diff-id=1,diff-type=compliant]
----
$val = value();
if ($val && check()) {
}
----
or 

[source,php,diff-id=1,diff-type=compliant]
----
if ($val == value() && check()) { // Original intention might have been to use equality operator and not assignment
}
----

include::../see.adoc[]

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../highlighting.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
