2016-03-01 39 views
0

PHP文檔告訴我們關於綴和後綴運算符的簡單應用,即PHP Plusplus運算符僅適用於「簡單」變量?

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

是四個以上對++唯一允許的形式?

例如,++($ x * $ y)或($ u * $ v)++怎麼樣?在我看來,直覺上明確的是,這個++只能用於「簡單」,「非匿名」變量,但我沒有在文檔中看到清楚的說明。畢竟,解釋器可能會在計算複雜的單行表達式時構造臨時的匿名變量。

+0

'++ i' $預和'$ I ++'爲崗位,所以是的,你是正確的 – aron9forever

+0

儘管我覺得有必要指出PHP從來沒有真正被編譯過***,但它被***解釋爲***,就像python或java字節碼 – aron9forever

+2

[PHP文檔參考](http://www.php .net/manual/en/language.operators.increment.php)....如果有疑問,請閱讀PHP文檔 –

回答

0

你是對的本質,如果你把--++運營商之前一個變量,那麼它將是一個預增量,即++$i。如果你把它們放在變量之後,那麼它將是一個後增加$i++

我建議您快速閱讀這個答案here,它包含一些有趣的信息,關於它們的工作方式。

默認爲++$i似乎是更好的辦法,只有在您有特定理由時才使用$i++

0

後綴

$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 
0

這個例子解釋了關於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"; 
?> 

檢查此link爲更詳細地: -

算被用來對變量和值執行操作。

PHP劃分運營商在以下組:

-Arithmetic運營

-Assignment運營

-comparison運營

-Increment /遞減運營

- 邏輯運算符

-STRING運營商

- 陣列運營商

檢查這個link爲PHP運營商