「PHP/入門/変数と値」の版間の差分

削除された内容 追加された内容
→‎演算子: インクリメントのプログラムが間違っててエラーになるので修正。
288 行
 
これらをそれぞれ、(プラス1するほうを)インクリメント、(マイナス1するほうを)デクリメント、と呼ぶ。
 
== 定数 ==
変数の宣言時に const キーワードをつけると、書き換えを禁止できます。const 宣言の際、変数名の冒頭に「$」はつけません。$をつけてもエラーになります。
 
 
<syntaxhighlight lang="PHP">
<?php
const a = 99;
 
print a . "\n";
?>
</syntaxhighlight>
 
;実行結果
<pre>
99
</pre>
 
 
では、実際に変数の書き換えをしてみて、エラーになるか確認しましょう。
 
 
<syntaxhighlight lang="PHP">
<?php
const a = 99;
 
print a . "\n";
 
// ここで定数だと忘れて、変数のように定義したしまったとする
$a = 40;
print $a . "\n";
?>
</syntaxhighlight>
 
;実行結果
<pre>
99
40
</pre>
 
上記コードのようなミスの場合、予想に反してエラーになりません。
 
定数「a」とは別に、変数「$a」が確保されてしまうだけです。思わぬバグにつながりかねません。PHPの定数はあまり信用しないほうが無難でしょう。
 
 
PHPはdefineという組み込み関数でも定数を宣言できますが、間違えて$a的に書き換えた場合はconst同様の問題が置きます。
 
 
<syntaxhighlight lang="PHP">
<?php
define("a" , 99);
 
print a . "\n";
 
$a = 40;
print $a . "\n";
?>
</syntaxhighlight>
 
;実行結果
<pre>
99
40
</pre>
 
== その他 ==