HOME   入り口   MENU


No5.変数の次はやっぱり・・ ---- 定数




代入されたものによって変化するのが変数だとすると
定義するとずっとそのままの値なのが定数です。

プログラムで変化することの無い情報があるとしましょう。
例えば作成者の名前。
これを表示させたり、条件式につかったりするときなどに便利です。
<?php
define("MY_NAME","まさご");
if (MY_NAME!=""){
    echo "私は" .MY_NAME ."です。";
    echo "これを作ったのは" .MY_NAME ."です。";
    echo MY_NAME ."はお腹がすきました。";
}
?>
と書くと
私はまさごです。
これを作ったのはまさごです。
まさごはお腹がすきました。

と出力されます。

あれ?なんかあまり便利さを感じられませんね。(^_^)
そのまま文字入れればいいんじゃない?
って思いませんでしたか?
いや、それが便利なんです。
作成者を間違えていて
「まさご」ではなく「竜」だったとしましょう。(笑)
<?php
define("MY_NAME","竜");
if (MY_NAME!=""){
    echo "私は" .MY_NAME ."です。";
    echo "これを作ったのは" .MY_NAME ."です。";
    echo MY_NAME ."はお腹がすきました。";
}
?>
と書くと
私は竜です。
これを作ったのは竜です。
竜はお腹がすきました。

最初の一行:define("MY_NAME","竜");
の部分を「まさご」から「竜」に変えるだけで
その他の部分をまったく変えることなく、変更できるのです。 ね、便利でしょ(^_^)。

あれ?これだけだと変数と変わらない?
そのとおり!
では変数のようにMY_NAMEの値を変えてみましょうか。
<?php
define("MY_NAME","まさご");
MY_NAME="竜";
?>
Parse error: parse error, unexpected '=' in /home/masago/public_html/php20030112.php on line 149
こんなエラーが表示されちゃった?
それは正解です。(^_^)
一度定義した定数はプログラムの中で間違って値を変更することができません。
実行する前に固定の値を設定できる。それが定数です。

PHPには自分で定義する以外にも便利な定義済みの定数がたくさんあります。

サンプル: こう書くと   ==>    こうなる!

アクセス解析なんかにも利用できますねっ。(^_^)
もっと詳しく知りたい方は
本家へ が参考になります。




(オマケ)
プログラムの中でその定数が定義されているかどうか調べたいときってあるかもしれません。
そんなときには
if (defined("MY_NAME")){
    echo "定義されているよ";
}else{
    echo "定義されてないよ";
}

のように if (defined("XXXXXXXXX")) で定義されているかどうかも
調べることができます。











  HOME