инверсия значения при вызове return

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
b10s
Сообщения: 72
Зарегистрирован: 2013.02.02, 18:22
Откуда: Краснодар-Сочи-Тимашевск
Контактная информация:

инверсия значения при вызове return

Сообщение b10s »

Здравствуйте, уважаемые форумчане!

Пару дней назад я принялся за изучение Yii и походу возникает множество вопросов. Вот один из них:
в /protected/components/UserIdentify.php есть такой код:

Код: Выделить всё

if(!isset($users[$this->username]))
            $this->errorCode=self::ERROR_USERNAME_INVALID;
        elseif($users[$this->username]!==$this->password)
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
        else
            $this->errorCode=self::ERROR_NONE;
        return !$this->errorCode;
Вопрос: как можно инвертировать переменную, которая имеет возможность принять, как минимум, три значения?

Вопрос, конечно, относится скорее к языку, ежеле к фреймворку. Однако :)
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: инверсия значения при вызове return

Сообщение samdark »

Всё, что больше нуля станет false. Всё, что не больше — true.
Аватара пользователя
b10s
Сообщения: 72
Зарегистрирован: 2013.02.02, 18:22
Откуда: Краснодар-Сочи-Тимашевск
Контактная информация:

Re: инверсия значения при вызове return

Сообщение b10s »

Значит это хитрое приведение типов - абстракция от набора значений. И в данном контексте нас интересует прошел или нет авторизацию пользователь. Ясно.
Тогда эти значения где-то должны применяться в другом месте. Но это уже другая тема :)
Спасибо!
Аватара пользователя
b10s
Сообщения: 72
Зарегистрирован: 2013.02.02, 18:22
Откуда: Краснодар-Сочи-Тимашевск
Контактная информация:

Re: инверсия значения при вызове return

Сообщение b10s »

Sam Dark писал(а):Всё, что больше нуля станет false. Всё, что не больше — true.
под "не больше" Вы имели ввиду ноль или, действительно, все отрицательные значения будут инвертированы в true?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: инверсия значения при вызове return

Сообщение samdark »

0 = false.
Не ноль = true.
Ответить