今日の人気記事

  1. PHPの設定(パスを通す)と動作確認 - Windows10
  2. ユニークなファイル名の一時ファイルを作成 - tempnam()
  3. PHP + Apache 環境の構築
  4. 指定した文字列以降の文字列を取得 - strstr()、strchr() - mb_strstr()
  5. 変数の型を調べる(確認) - gettype()

静的な変数

当ページのリンクには広告が含まれています。

ここではPHPの静的な変数について解説していきます。

静的な変数

通常、関数内で定義した変数は、その関数を呼び出すたびに初期化されます。しかし、「静的な変数」は定義すると、関数を複数回呼び出しても初期化されずに、その値は保持されます。

static 変数名

静的な変数を定義する場合は、このように「変数名」の前に「static」と記述します。

サンプルスクリプト

「hoge」という関数内で静的な変数「$count」を定義し、+1 した戻り値を返します。

<?php
function hoge() {
  static $count = 0;
  return ++$count;
}
echo hoge() ."\n";
echo hoge() ."\n";
echo hoge() ."\n";
echo hoge() ."\n";
?>

実行結果です。静的な変数なので、関数を呼び出すたびに「+1」されていることがわかります。

1
2
3

比較として通常の変数を使った関数のサンプルスクリプトもご覧ください。

<?
function hoge() {
  $count = 0;
  return ++$count;
}
echo hoge() ."\n";
echo hoge() ."\n";
echo hoge() ."\n";
echo hoge() ."\n";
?>

実行結果です。静的な変数とは異なり、変数が初期化されていることがわかります。

1
1
1

次は「変数のスコープ(有効範囲)」をみてみましょう。

変数 の人気記事

  1. require、require_once - ファイルの取り込み
  2. 変数の型
  3. HTML内でPHPスクリプトを実行 - 埋め込み
  4. 簡単なPHPスクリプトを動かしてみよう
  5. NULL - ヌル
  6. ビット演算子 - 2進数の演算
  7. 変数の基本構文
  8. 定義済み変数の一覧表
  9. 静的な変数
  10. 整数 - integer

関連記事(一部広告含む)