【问题标题】:Variable assignment in a conditional?条件变量赋值?
【发布时间】:2013-10-28 07:20:45
【问题描述】:

这会评估什么?我知道这看起来很有趣,但我在看练习考试时看到了这个:

if (number = 1) { echo "C1 is true"; }

【问题讨论】:

    标签: php conditional variable-assignment


    【解决方案1】:

    当您分配变量时,当分配的变量没有导致false时,它总是返回true。所以它会转到if并回显输出。考虑到这主要取决于您分配的值

    假设你喜欢

    if (number = 0) {  // if(number = false)
        echo "C1 is true"; 
    } else {
        echo "C1 is false";
    }
    

    它会打印C1 is false.Bec 它会间接表示喜欢

    if(0) // if(false)
    

    这是一个false

    【讨论】:

    • 这不只是变量评估为真的情况吗?我相信 if(something = false) { ... } 会评估为假。
    • 它不返回true,它返回分配的值
    • @deceze 我用粗体字告诉过那件事。看过一次
    • 还是错了。 = 不会“总是返回 true,除非它返回 false”。它返回分配的值
    • 看到它..it always returns true when the variable is not causing.我没有用我的话解释我想是的......那是Y我又添加了它
    【解决方案2】:

    赋值运算符= 返回赋值。这意味着什么?例如,1 + 2 中的+ 运算符返回两个数字的和; 表达式1 + 23。同样,表达式number = 11。这就是它起作用的原因:

    a = b = c = 1;
    

    因此,您将1 分配给number,其结果值为1,由if 评估,等于true

    【讨论】:

    • 所以它基本上是在说“if (1) { //stuff }”?
    猜你喜欢
    • 2015-01-26
    • 1970-01-01
    • 2013-07-14
    • 2012-08-23
    • 2023-04-03
    • 2020-02-18
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多