PHP Plusplus运算符仅适用于“简单”变量


PHP Plusplus operator only works on "simple" variables?

PHP 文档告诉我们中缀和后缀运算符的简单用法,即

  ++$a;
  $a++;
  (...)(++$a)(...);
  (...)($a++)(...);

以上四种形式是唯一允许使用 ++ 的形式吗?

例如,++($x*$y) 或 ($u*$v)++ 呢? 在我看来,直觉上很清楚,这个++应该只用于"简单","非匿名"变量,但我没有在文档中明确指定。毕竟,解释器在计算复杂的单行表达式时可能会构造临时的匿名变量。

如果你

--++运算符放在变量之前,那么你基本上是对的,那么它将是一个预递增,即 ++$i .如果您将它们放在变量之后,那么它将是一个帖子增量$i++

我建议在这里快速阅读此答案,它包含一些有关它们工作原理的有趣信息。

默认使用++$i似乎是更好的方法,并且仅在您有特定原因时才使用$i++

PostFix

$in=0;
for ($i=0; $i < 5; $i++) { 
    print_r($in++);//PostFix
    print_r('<br/>');
}

输出

0
1
2
3
4

前缀:

$in=0;
for ($i=0; $i < 5; $i++) { 
    print_r(++$in);//PreFix
    print_r('<br/>');
}

输出

1
2
3
4
5

这个例子解释了关于 POSTFIX 和 PREFIX 的所有内容。

Operator  Name            Description 
++$x      Pre-increment   Increments $x by one, then returns $x  
$x++      Post-increment  Returns $x, then increments $x by one 
--$x      Pre-decrement   Decrements $x by one, then returns $x  
$x--      Post-decrement  Returns $x, then decrements $x by one

例:-

<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />'n";
echo "Should be 6: " . $a . "<br />'n";
echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />'n";
echo "Should be 6: " . $a . "<br />'n";
echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />'n";
echo "Should be 4: " . $a . "<br />'n";
echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />'n";
echo "Should be 4: " . $a . "<br />'n";
?>

查看此链接了解更多详情:-

运算符用于对变量和值执行操作。

PHP 将运算符分为以下几组:

-算术运算符

-赋值运算符

-比较运算符

-递增/递减运算符

-逻辑运算符

-字符串运算符

-阵列运算符

查看此链接以获取 PHP 运算符

是的,没错,您可以在 php.net 上阅读有关此内容的所有内容

http://php.net/manual/en/language.operators.increment.php

这将涵盖它