Avoid illogical comparisons with count

이 페이지는 아직 한국어로 제공되지 않으며 번역 작업 중입니다. 번역에 관한 질문이나 의견이 있으시면 언제든지 저희에게 연락해 주십시오.

Metadata

ID: php-code-style/illogical-count-compare

Language: PHP

Severity: Error

Category: Error Prone

Description

This rule is important because it helps to avoid illogical comparisons in your code. In PHP, the count() function will always return an integer greater than or equal to zero. Checking if the count of an array is less than zero or greater than or equal to zero doesn’t make sense, and can lead to confusing code.

Good coding practices suggest that you should only compare the count of an array with zero or a positive integer. You can check if an array is empty by comparing the count with zero, and if an array has elements by comparing the count with a number greater than zero. This makes your code more readable and less prone to errors.

For example, instead of writing if (count($array) >= 0), which will always be true, you can write if (count($array) > 0), which will only be true if the array is not empty. Similarly, instead of writing if (count($array) < 0), which will never be true, you can write if (count($array) == 0), which will be true if the array is empty.

Non-Compliant Code Examples

<?php
if (count($array) >= 0) {
    echo "The length is >= 0";
    if (count($array) < 0) {
        echo "Impossible condition";
    }
}

Compliant Code Examples

<?php
if (count($array) > 0) {
    echo "Length is greater than 0"
} else if (count($array) == 0) {
    echo "Length is zeroo"
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: may/unit-testing