Результат присвоения

avtomon

Новичок
Подкажите, кто-нибудь, что вернет:
if ($a = func ()), где func - функция возвращающая значение.

Интересует именно результат при изменении результата работы func(). Если func возвратит false, то что вернет вся операция? false или true как результат успешного присвоения значения переменной $a

Спасибо
 

Вурдалак

Продвинутый новичок
Оператор = (.=, +=, -=, etc.) возвращает значение, переменной слева после присвоения (конкатенации, сложения, вычитания соответственно и т.д.). Это легко проверить с помощью того же var_dump().
 

С.

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

avtomon

Новичок
Прошу прощения за неточность. Смысл исказился. Имелось ввиду false как результат работы функции, а true как результат операции присвоения. Первый отвечающий ответил на мой вопрос
 

С.

Продвинутый новичок
Замечательно, что вы получили ответ, на ваш вопрос. Но желал бы вам, что бы та опера у вас в голове все-таки прекратилась.
false как результат работы функции, а true как результат операции присвоения
Какой такой "true как результат операции присвоения"? Откуда эта бессмыслица? Вы где-то об этом прочитали?
 

avtomon

Новичок
У меня появилось подозрение что конструкция if ($a = func ()) будет всегда возвращать истину. Так как, как вы выше отметили
В PHP, как и во всех других языках не может быть неуспешного присвоения значения переменной.
. Но оказалось это не так
 

Beavis

Banned
Замечательно, что вы получили ответ, на ваш вопрос. Но желал бы вам, что бы та опера у вас в голове все-таки прекратилась.

Какой такой "true как результат операции присвоения"? Откуда эта бессмыслица? Вы где-то об этом прочитали?
Может из языка, совпадающего с твоим ником?) Там при перегрузке операции присваивания явно возвращается результат операции.
 

Здыхлик

Kohaner
Команда форума
Проще всего запомнить, что

PHP:
if ($a = func()) {}
это короткая запись для

PHP:
$a = func();
if ($a) {}
 
Сверху