== Why is this an issue?

The repetition of a prefix operator (``++!++``, or ``++~++``) is usually a typo. The second operator invalidates the first one:

[source,php]
----
$a = false;
$b = ~~$a; // Noncompliant: equivalent to "$a"
----

While calling ``++!++`` twice is equivalent to calling the `boolval()` function, the latter increases the code readability, so it should be preferred.

[source,php]
----
$a = 0;
$b = !!$a; // Noncompliant: equivalent to "boolval($a)"
----

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

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

include::../message.adoc[]

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

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
