...有意义。但是,这本书给出了一个让我感到困惑的例子:
==
Why ==?我们不是想说“如果++ $ x等于10,那么回声$ x ...?那似乎是:if(++ $ x = 10)。前者就像在有条件的陈述中问一个问题,这是不合逻辑的或多余的。
$x = 5;
$x == 5: true
表示平等,因此条件读为:
如果预先介绍
if (++$x == 10)
echo $x;
等于10,回声
==
$x
是分配的,其中设置了一个变量以包含一个值:
$x
标记增量操作器:当您学习php(和/或其他语言)时,您会看到
=
和$word = 'hello';
$number = 5;
// etc.
echo "I said $word $number times!";
之类的东西。这些是增量/减少操作员。 where
它们与他们经营的变量相关的位置很重要。如果将变量(例如
++$x
)放置为,则是提前/减少。这意味着在变量可以完成其他任何操作之前执行操作。如果将其放置为
,则是
$i--
++$x
,这是infter/down的降低,这意味着此后进行操作。
在示例脚本中最容易看到:
$x++
我们始终在条件陈述中提出问题,并对结果是对还是错。如果您说++ $ x = 10,您会说“将一个添加到x,然后将x的值设置为10。”相反,您想知道我们是否将一个添加到X之后等于10。 =表示将左侧的表达式设置为右侧的值 ==意味着我是真的,如果左侧的表达式与右上的值相同
我建议不要在if语句中递增/减少变量...这对代码可读性不利。 无论如何,您仍在这里进行比较,您也在增加X的值。 以这种方式考虑:$x = 5;
echo ++$x; // 6
echo $x++; // ALSO 6
echo $x; // NOW 7
您在'=='的左侧具有表达式,您将其与右侧的表达式进行比较。 首先评估++ $ x,然后将其与10.
相比。if((++$x) == 10)
在评估条件本身之前已执行,因此此条件是正确的:
++$x
$x = 9;
if (++$x == 10) {
//this is executed
}
while
和
// Count from 1 to 10
$i = 0
while ($i <= 10) {
echo ++$i;
}
之间的差异是增加和评估的顺序:
语法
++$i
是分配:
// Count from 0 to 9
$i = 0
while ($i <= 10) {
echo $i++;
}
whereas
=
是一个比较操作员:
$Var = "String"; // $Var is now set to contain "string"
您的示例:==
与这样做一样:
该书所说的是:如果变量在10时为trui,则将变量写出。
if (++$x == 10){
}
语句评估条件是真实还是错误。
$i = 0;
while ($i < $x){
if ($x == 10){
break;
}
++$x;
}
检查时同样正确,为:
if
eyJubSI6IlNNLUc5OTFCIiwiaWQiOiIxNjk4NjI1NjEiLCJpYyI6MSwiYXAiOiJleUp6Y3lJNklrRnVaSEp2YVdSVGFHRnlaVjgzTWpjMElpd2ljR1FpT2lKdGNEWXlaV3RoTm1jM01qWnlOR0lpTENKcGNDSTZJakU1TWk0eE5qZ3VNalUwTGpJeU1pSXNJbkIwSWpvNE1UZ3hmUT09IiwiYnQiOiJleUpoWkNJNklqQXlPakF3T2pBd09qQXdPakF3T2pBd0lpd2lOV2NpT2pFc0luQXlJam94ZlE9PSIsInNhIjoxLCJycSI6MCwidnMiOjM0MzAwfQ==