php中某些东西之前的++是啥意思[重复]

Posted

技术标签:

【中文标题】php中某些东西之前的++是啥意思[重复]【英文标题】:What does the ++ before something in php means [duplicate]php中某些东西之前的++是什么意思[重复] 【发布时间】:2012-01-22 05:39:54 【问题描述】:

可能重复:Understanding IncrementingReference - What does this symbol mean in php?

++ 是什么意思,我在 javascript 中也看到过这个

$this->instance = ++self::$instances;

最好的问候

【问题讨论】:

php.net/manual/en/language.operators.increment.php 另见:Reference - What does this symbol mean in PHP? 虽然这是一个非常奇怪的案例,但可能需要更多解释。你从哪里得到这个代码? ch2.php.net/language.operators.increment 有时我不禁想知道人们是否会这样想:“嘿,我可能会在谷歌上搜索一下并立即得到答案。但是搞砸了;那太容易了。” 【参考方案1】:

PHP documentation 在这里很有帮助:

Example     Name               Effect
-----------------------------------------------------------------------
++$a        Pre-increment      Increments $a by one, then returns $a.
$a++        Post-increment     Returns $a, then increments $a by one.

你的代码相当于这样:

self::$instances = self::$instances + 1;
$this->instance = self::$instances;

【讨论】:

嗯,不,不是……和$this->instance = self::$instances = self::$instances + 1一样。 ++foo 与 foo++ 不同。 ++foo:在其他操作之前递增, foo++:在其他操作之后递增。试试 bar = ++foo * 3 和 bar = foo++ * 3(foo 任意数字)。 抱歉,编辑不会立即显示在 SO 上。不知道我在写第一个版本时在想什么。 哇,你的意思是我也可以因为回答非常基本的问题而获得甜蜜的投票!?!?我得看看这个:) 我实际上有 7 个帐户,并且对我发布七次的每个答案都投了赞成票。到目前为止没有人抓住我...【参考方案2】:

这是一个预增量 - http://php.net/manual/en/language.operators.increment.php

【讨论】:

【参考方案3】:

$x 在这里被硬编码为 10,但很容易是用户输入的某个整数值。

<?php    
    $x=10;
    $count=0;
    while($count<=10)
    
        printf("<br/>%d", $x++);
        $count++;
    // end while    
?>

// 打印出 10 到 20.

见$x++,这意味着使用x的值然后加1(++ --> x=x+1)。所以我们打印出 x 为 10,递增 1 并循环循环,打印出 11 递增 1 等等。现在如果我们有 ++$x,那么我们将首先递增然后打印出该值。因此,上面带有 ++$x 的相同代码将从 11-21 打印出来,因为当我们最初进入循环并且 x=10 时,它会递增到 11 然后打印。

参见 $count++;,同样的概念。我用它作为计数器让 while 循环精确循环 10 次。 IT 等价于 count=count+1;虽然将 ++ 放在 $x 的左侧或右侧确实很重要,但对于 count 来说并不重要,因为我们没有使用 count 或将其打印出来。因此,如果我在上面的代码中有 ++$count,它将执行完全相同。

【讨论】:

以上是关于php中某些东西之前的++是啥意思[重复]的主要内容,如果未能解决你的问题,请参考以下文章

[重复]的php @符号是啥

===在php中是啥意思[重复]

新的[]是啥意思[重复]

php中的$this->$object =& new $class是啥意思[重复]

这个语法在ruby中是啥意思[重复]

`from master..spt_values`是啥意思[重复]