可以在php中对条件语句进行赋值吗?

可以在php中对条件语句进行赋值吗?,php,conditional,conditional-operator,variable-assignment,Php,Conditional,Conditional Operator,Variable Assignment,您能否在php中对条件语句进行赋值,如下所示: if(siteName_err = isValid("sitename", $_POST['sitename'], false)) { $siteName = $_POST['sitename']; } 对 老实说,你为什么不试试呢?不允许您执行此类操作的语言通常会生成编译器/解析器错误 PHP的大部分基本语法元素都来自C,其中包括每个赋值都返回一个值。因此,这是有效的。是的,你可以这样做 如果您询问是因为您尝试了它,但遇到了一个疯狂的错

您能否在php中对条件语句进行赋值,如下所示:

if(siteName_err = isValid("sitename", $_POST['sitename'], false))
{
    $siteName = $_POST['sitename'];
}

老实说,你为什么不试试呢?不允许您执行此类操作的语言通常会生成编译器/解析器错误

PHP的大部分基本语法元素都来自C,其中包括每个赋值都返回一个值。因此,这是有效的。

是的,你可以这样做


如果您询问是因为您尝试了它,但遇到了一个疯狂的错误,请尝试将
siteName\u err
作为一个有效的变量名,方法是在它前面加上一个美元符号
$

是的,当然,您也可以对while结构执行相同的操作

我认为最常见的使用场景是使用MySQL。例如:

$result = mysql_query("SELECT username FROM user");
while ($user = mysql_fetch_assoc($result)) {
  echo $user['username'] . "\n";
}
这是因为
$user
是分配的结果。也就是说,作业中存储的任何内容都将用作条件。换句话说,

var_dump($i = 5);

// is equivalent to

$i = 5;
var_dump($i);

很明显,这两个都会打印
int(5)

你们这些在stackoverflow Rock上的家伙手把手放下!!谢谢你的帮助。太棒了@JAL,在Python中,赋值是语句,而不是带值的表达式。但你仍然可以用这种语言完成事情。但是当你有时学习时,即使事情看起来确实有效,你也不能保证它是正确的或正确的,或者不会导致问题。对这个问题有一个清晰简洁的答案肯定是有用的。