この記事では、PHPにおける可変関数について説明します。
できるだけわかりやすく説明するのでぜひ参考にしてください。
一般的な変数の取り扱い
一般的な変数は、そのスクリプト内ならどこでも有効。
1 2 3 4 5 6 |
<?php $a=100; //途中で色んなコード書いても echo $a; // 定義した変数を呼び出させる(100と表示される) ?> |
100
こういった変数をグローバル変数といいます。

関数の中の変数
しかし、関数の中で定義された変数はその関数の中でだけ有効。
1 2 3 4 5 6 7 8 |
<?php function kansu(){ $a=100; } echo $a; // そんな変数知らないよというエラー ?> |
Notice: Undefined variable
$aは関数の中で定義しているので、関数の外で呼び出せないわけです。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $a=100; function kansu(){ ++$a; echo $a; } echo $a."<br>"; // 100と表示 kansu(); // 1と表示 ?> <!--関数外の変数と関数内の変数が同じであっても扱いは別 関数内の$aは0と扱われ処理される --> |
100
1
関数の中だけで有効な変数をローカル変数といいます。

関数の外で定義した変数を、関数の中で呼び出すこともできません。
では、関数外の変数を関数内で使いた時はどうすればよいのでしょうか?
このときに使うのがグローバル宣言です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $a=100; function kansu(){ global $a; ++$a; echo $a; } echo $a."<br>"; // 100と表示 kansu(); // 101と表示 ?> <!--関数外の変数が関数の中でも使用される --> |
100
101
またecho $aとkansu()の書く順番を入れ替えると
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $a=100; function kansu(){ global $a; ++$a; echo $a; } kansu(); // 101と表示 echo "<br>".$a; // 101と表示 ?> <!--kansu();で$aは101となってecho"<br>".$a;で101が表示される --> |
101
101
結果が変わります。
グローバル変数は、関数の中で行うのがポイントですね。

【無料体験・全額返金】圧倒的に効率的なプログラミングスクール
独学でプログラミングを勉強するのは大変じゃないですか?
- ググるのが面倒
- エラーの対応に1日消費
- 重要なコードがわからない
お金はかからないものの、かなり効率が悪いです。
『Time is Money』
時間を節約し、効率的に勉強したいならプログラミングスクールを圧倒的におすすめします。
スクールに通って短期間で集中的に成長しちゃいましょう。
代表的なスクールは以下の2つ。
- TechAcademy
web系、アプリ系いずれもOK
完全オンラインでプログラミングを学習したい方 - テックキャンプ
web系、アプリ系いずれもOK
教室またはオンラインで学習したい方
この2つには以下のような特典もあります。
TechAcademy
- 1週間の無料体験
- 1コース申し込むと、もう1コースプレゼント
テックアカデミー
- 1週間以内に申告あれば全額返金
- 転職できなかったら全額返金
かなりお得です。
確かにどのスクールも本格的にやれば20~30万くらいかかります。
でも、スキルを身に付けて案件を受注してしまえばすぐに回収できる金額です。
目安の報酬をまとめておくと、
- ランサーズ:1件10万くらい
- 中小企業:1件30万くらい
- 大手企業:桁違い
こんな感じです。
1ヶ月で回収できる料金をケチって、独学をつづけるのはセンスが悪いです。
この無料キャンペーンや全額返金制度はいつまで続くかわかりません。
なので、とりあえず試してみるのが良いかと思います。
テックキャンプに関しては無料でカウンセリングを受けることができます。
プロのカウンセラーが個別に悩み聞いてくれるので、まずは話をしてみてもいいですね。
(下のバナーから詳細を見れます。)
受講料の割引もあるのでお得です。