Мне не удается понять, почему мой PHP-код возвращает «три» вместо «два». Вот код: [code]$a = 2; echo $a == 1 ? "one" : $a == 2 ? "two" : $a == 3 ? "three" : "others"; [/code] Когда я запускаю это в версиях PHP ниже 5.3, на выходе получается «три». Может кто-нибудь объяснить, почему это происходит и как работает код?
В Java существует два типа операторов if: классический: if {} else {} и сокращенный вариант: exp ? значение1: значение2. Один быстрее другого или они одинаковые?