Почему true больше 3 в PHP

Мне интересно, почему следующий оператор в PHP возвращает true?

true>=4 

например, такая строка будет эхо- 1

 echo true>=4; 

Может ли кто-нибудь объяснить мне логику этого?

    В дополнение к ответу Дэвидса, я подумал добавить что-то, чтобы дать немного больше глубины.

    PHP в отличие от других языков программирования, если вы не будете осторожны с вашими операторами / синтаксисом, вы можете попасть в хитрые отверстия в горшке, как тот, который вы испытываете.

    Как сказал Давид,

    4 также верно (потому что оно отличное от нуля), а true равно true, поэтому оно также больше или равно true.

    Учитывайте это. Истина больше ложной.

    true = 1

    false = 0

    Так возьмите это, например:

     $test = 1; if ($test == true){ echo "This is true"; }else{ echo "This is false"; } 

    Вышеприведенный результат

    Это правда

    Но если вы это сделаете:

     $test = 1; if ($test === true){ echo "This is true"; }else{ echo "This is false"; } 

    Вышеуказанное выведет:

    Это неверно

    Добавленный знак равенства, ищет точное совпадение, таким образом, ищет integer 1 вместо чтения PHP 1 как истинного.

    Я знаю, что это немного не по теме, но просто хотел объяснить некоторые горшки, которые содержит PHP.

    Надеюсь, это поможет

    Редактировать:

    Отвечая на ваш вопрос:

    echo true> = 4;

    Причина, по которой вы видите 1 как результат, состоит в том, что true / false интерпретируется как числа (см. Выше)

    Независимо от того, если вы выполняете echo true>=4 или просто echo true; php устанавливает true как 1 и false как 0

    4 также true (потому что оно отличное от нуля), а true равно true , поэтому оно также больше или равно true .

    Если bool или null сравнивается с чем-либо другим, кроме строки, эта вещь передается в bool. См. Документы .