PHPの変数スコープって一体なんぞや?

 



 

PHPのいいところといえばテキトーに書いちゃっても動いちゃうところですよね。
ただこれにはちょっと怖い面もあるのです。
入口が広くなってしまい、予想外の動作によるバグの可能性が上がっちゃうんです。
僕も昔とりあえず動けばいいと思ってテキトーにやってました(笑)
ってなことで意外とおろそかにしやすい部分に目を向けていこうかなと。
今回のテーマは変数のスコープです。

スコープとは?

スコープとはスクリプト内の変数の有効範囲のことです。
スクリプト全体のグローバルスコープ、関数の中のみのローカルスコープがあります。
具体的にはこんな感じです。

変数$aの最初の方をグローバル変数、関数hoge()内の$aをローカル変数と言います。
$aという名前は一緒でも全然別物というわけです。
これをみると関数内でもグローバル変数を使いたいなぁとか思ったりしませんか?

こんな風にグローバル変数であることを宣言してあげればオッケーです。

静的変数って?

他にも変数には種類があり、静的変数というものがあります。
まずは下の結果を見てみましょう。

ここで$aはローカル変数ですよね。
関数hoge()は何回呼び出してもずっと同じ結果を表示します。
hoge()は呼び出されるたびに$aを初期化して、処理後に破棄しているんです。
$aの結果を取っておきたいという場合に登場するのが静的変数です。
グローバル変数の時のように静的変数であることを宣言してみましょう。

いかがでしょうか?
静的変数のおかげで関数の処理終了後でも$aのデータが残っています。
一点気をつけて欲しいのは、静的変数はローカル変数だということです。

まとめ

いかがでしたでしょうか。
変数についてちょっとまとめてみました。
基礎的なことですが、スコープは大切な概念なので理解を深めていきましょう。

Simple PoS Pool

ここ最近人気が急上昇中のPoSマイニングプールです。PoSマイニングなので、コインを入れておくだけでザクザクとコインが増えていきます。

現在16のコインに対応しております。ユーザ数とともに登録規制などもあるので、アカウント作成だけでもしておいて損はないと思います。記事にもしてありますので、宜しければご確認ください。




ウォレット・取引所

今おススメ、有名なウォレット・取引所のリンクを張ります。各々の取引所では長所・短所(取扱通貨が異なる)があるため、全て作成しておいても損はないと思います(^。^)いつか利用するときが来るかもしれません。

KuCoinは現在人気がうなぎのぼりです。登録は無料なので、登録中止になる前に開設だけする事をおススメします。

bitFlyer ビットコインを始めるなら安心・安全な取引所で
ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin



関連記事

安全に仮想通貨を保管しましょう

人気急上昇!

1日6%も増えるコイン!?DVRSコイン!



PoSマイニングで寝てても増える!?

特集

リアルタイム更新!!300弱のコインをご紹介!

おすすめ記事

  1. 最近、仮想通貨のマイニングが注目を浴びています。VPS(Virtual Private Server…
  2. みなさまこんにちわ。 最近題名のご質問をよく頂きます。そこで簡単では御座いますが上記二つを解決…
  3. 前記事はこちらから。 [clink url="http://bibouroku.blog/2018…
  4. みなさまこんばんわ。 Simple PoS Poolでマイニングしてみたの第5弾のお時間がやっ…
  5. 今まではPoWのマイニングの方法をご説明してきましたが、本日はお財布にいれておくだけでマイニングがで…
  6. 昨日に続き、本日はGoogle Cloud Platformを使ったCPUマイニングのご紹介です。 …
  7. PuTTyGenによるSSHキーの作成方法をご紹介します。 非常に簡単です! まずPut…
  8. ubuntuでウォレットをコンパイルするときの魔法の呪文です。 [clink url="http:…
  9. 今回はGoogle Compute Engineを使って仮想通貨のマイニングをします。 GCE…
  10. ついにSimple PoS Poolでのマイニングも30日、約1カ月を迎えました。 本日の記事…

おススメGPU

No.1
NVIDIA GTX-1070





No.2
NVIDIA GTX-1080





No.3
NVIDIA GTX-1060





No.4
AMD RX570





No.5
NVIDIA GTX-1080Ti





No.6
AMD RX580

ページ上部へ戻る