【问题标题】:Can one make an assignment on conditional statement in php?可以在 php 中对条件语句进行赋值吗?
【发布时间】:2011-01-12 20:43:58
【问题描述】:

你能像这样在 php 中对条件语句进行赋值吗:

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

【问题讨论】:

  • 你们在 stackoverflow 上放手!感谢您的周转。太棒了!
  • @JAL,好吧,在 Python 中,赋值是语句,而不是带有值的表达式。但您仍然可以使用该语言完成工作。

标签: php conditional conditional-operator variable-assignment


【解决方案1】:

是的。

我认为最常见的使用场景是在使用 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)

【讨论】:

    【解决方案2】:

    是的。

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

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

    【讨论】:

    • 但是当你学习的时候,即使事情看起来确实有效,你也不能保证它是正确的或正确的,或者不会导致未来的问题。对问题有一个清晰简洁的答案当然会很有用。
    【解决方案3】:

    是的,你可以这样做。

    如果您之所以询问是因为您尝试了它并遇到了一个疯狂的错误,请尝试通过在 $ 前面加上一个美元符号来使 siteName_err 成为一个有效的变量名。

    【讨论】:

      【解决方案4】:

      是的,当然,你也可以对 while 结构做同样的事情

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-23
        • 1970-01-01
        • 2019-09-15
        • 1970-01-01
        • 2015-04-27
        • 2021-08-03
        • 2016-04-12
        • 2019-04-22
        相关资源
        最近更新 更多