баг или фича?

Colobon

Новичок
баг или фича?

возьмем к примеру вот такой скрипт
PHP:
function func($id){
	return $id;
}

if($id1=func(100) && $id2=func(200)){
	print $id1."<br />";
	print $id2."<br />";
}
на мой взгляд логично ожидать, что он вернет
а на самом деле получается
так вот и вопрос - это че такое? php 5.1.6
 

God

Новичок
Получаем, что $id1 получит значение, равное 100 && 200
 

bedladen

Новичок
а теперь подумай почему вот так выведет правильный результат:
if(($id1=func(100)) && ($id2=func(200))){
print $id1."<br />";
print $id2."<br />";
 

Colobon

Новичок
и это я понял. без скобок фактически получается так:
PHP:
if($id1=(func(100) && $id2=func(200))){
просто в данном случае можно и and поставить
 

SiMM

Новичок
Неужели было сложно прежде чем задать вопрос заглянуть в мануал?
[m]language.operators#language.operators.precedence[/m]
 
Сверху