$ var = value实际返回什么?

M M*_*ler 0 php variables initialization

对我来说,这似乎是PHP的一个非常神秘的部分,我想知道是否有人可以澄清,因为手册似乎不包括这个(或者我在任何地方都找不到它).

这些东西会回归什么?

if($c = mysql_connect($host, $user, $pass)){
 echo 'Success';
}else{
 echo 'Failure';
}
Run Code Online (Sandbox Code Playgroud)

这总是会回应'成功',因为$ c被成功分配为true或false?我想知道我是否可以这样做,或者我是否必须在前一行定义$ c.

谢谢.

Fel*_*ing 7

赋值运算符中提到:

赋值表达式的值是指定的值.也就是说,"$ a = 3"的值是3.

所以$c = ...会导致true如果true被分配到$cfalse是否false被分配.

这也是迭代查询结果的原因

while(($row = mysql_fetch_array(...)))
Run Code Online (Sandbox Code Playgroud)

作品.