Facebook Twitter Google Maps RSS
Home 未分類 インクリメントの方法
formats

インクリメントの方法

こんにちは。
陽気なシステム屋の一員のシホンヌです。

昨日、これまたシステム屋のなんちゃんに、インクリメントについての知識をもらったので紹介します。

私シホンヌはシステム屋人生10余年、インクリメントといえば、変数の後に++をつけていました。
たとえば、int型の変数cntをインクリメントしたい時は

cnt++;

こうすれば、「cnt = cnt + 1」という意味になって、わざわざ計算式を書かなくてもcntは自動的にカウントアップされます。
まぁこれは常識ですね。

しかし今回、うっかりミスのおかげでPHPの開発中にcnt++でインクリメントができず、グーグル先生に聞いたところ

++$cnt;

という記述を見つけてびっくりしました。

そうなんだ!?PHPはインクリメントする場合、変数の前に++をつけるのか!
知らなかった!こりゃーブログに書かなければ!
と、思ったところ、なんちゃんに「PHPは変数++でもイケますよ」とのこと。

えーまじで?

しかも、「前に++するか後に++するかにはちゃんと意味があるんですよ。」とも教えてもらいました。

変数++の場合は、
「まず変数の値を返して、それから変数+1をする」

++変数の場合は
「まず変数+1をして、変数の値を返す」

ということです。
どういうことかと言うと、

echo “カウントその1:”.$cnt++;
echo “カウントその2:”.$cnt;

と書いた場合は

カウントその1:0 ‘<– カウントアップする前の変数の値が表示される
カウントその2:1 ‘<– 上でカウントアップ後の変数の値が表示される

となり、

$cnt = 0;
echo “カウントその3:”.++$cnt;
echo “カウントその4:”.$cnt;

と書いた場合は、

カウントその3:1 '<– カウントアップ後の変数の値が表示される
カウントその4:1 ‘<– 上でカウントアップ後の変数の値が表示される

ということになります。
些細なことかも知れませんが、知らなかったので目からウロコでした。
今度インクリメントする際は、「++変数」でやってみようと思います!

 

 

Webサイト開発実績はこちら

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*