PHPの増減

WBOY
WBOYオリジナル
2016-06-23 14:33:372195ブラウズ

PHP セクションの出力結果を書きます:

<?php $count=5;function get_count(){    static $count=0;    return $count++;}echo $count;++$count;echo get_count();echo get_count();?>

答えは次のとおりです: 501

これには主に 2 つの知識ポイントが含まれます:

1. PHP 変数のスコープ

2. 自動インクリメント/自動-decrement 変数;

面接官は「PHP 変数のスコープ」についてはよく理解していますが、「自動インクリメント/自動デクリメント変数」については少し自信がありません。ここで、参考として次の内容を確認してください:

自動インクリメント/デクリメントは、前置インクリメントと後置インクリメントに分けられ、シーケンスが含まれます:

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php   $a = 3;   echo ++$a; //前置型,先自增再输出,结果为4,此时$a为4   $b = 3;   echo $b++; //后置型,先输出3,再自增为4,此时$b为4 ?>

質問: $i=2 の場合、式 ($i++) を見つけます。 )*($i++)*($i++) を計算し、$i の値を見つけます

答え: ($i++)*($i++)*($i++) 結果は 24、$i は 5

分析: まず計算順序を確認します。括弧がある場合は、最初に $i の値 2 を ($i++) の値として取得し、その後 $i が 3 に増加します。残り時間 ($i++) = 2, $i=3]

まず、この時点での $i の値 3 を ($i++) の値として取得し、次に $i 自体を 4 に加算できます。 time ($i++) = 3, $ I = 4]

の後、括弧内を計算し、まずこの時の$ iの値を($ i ++)の値として取り、次に$ iと5

最後の乗算演算、つまり 2*3*4 = 24 $i=5

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。