在条件语句中定义变量的操作是否有确定的名称?

时间:2017-06-18 21:38:31

标签: php conditional operator-precedence

我认为这个问题很简单,不仅适用于我,而且适用于整个PHP语言。

这是非常基础的,如果它确实有一个名字,那么学习PHP以了解它的名称并不重要。但有些人,包括我在内,显然希望能够理解这些非常基本的问题。

我将使用一个例子“if(conditional)statement”来说明问题。

if (!$result = mysqli_query($con, $sql)) {
    echo 'FAILED';
}

正如您在此处看到的,mysqli_query函数的结果存储在$ result变量中,而函数和变量则存放在条件语句中。

这是我的问题,一如既往,感谢您的阅读,您的回答或批评都受到欢迎和赞赏。

的问候,
DeveloperDan

1 个答案:

答案 0 :(得分:1)

我不知道具体名称,但在{Docs {/ 3>}

部分的PHP文档中对此进行了描述

引用:

  

PHP以更多其他语言的方式进一步表达表达式。 PHP是一种面向表达式的语言,在某种意义上说几乎所有东西都是表达式。考虑一下我们已经处理过的例子,'$ a = 5'。很容易看出这里涉及两个值,整数常量'5'的值,以及$ a的值也被更新为5。但事实是这里涉及一个额外的值,这就是赋值本身的价值。赋值本身评估为赋值,在本例中为5.实际上,它意味着'$ a = 5',无论它做什么,都是一个值为5的表达式。因此,写一些像'$ b =($ a = 5)'就像写'$ a = 5; $ b = 5;' (分号标志着声明的结束)。由于分配是按从右到左的顺序解析的,因此您也可以写'$ b = $ a = 5'。

(重点是我的)

“赋值本身评估为赋值”,这就是为什么赋值本身可以作为if条件进行测试