PHP Manual
/
変数

変数の書き方の原則

16. 02. 2020

Obsah článku

今回は、PHPのチュートリアルシリーズの第2弾です。今回は、変数の書き方の基本ルールについて見ていきましょう。

このページは、あくまで概要を説明するものです。すべての機能についての詳細な技術的説明をお求めの方は、別記事を書きましたのでご覧ください。

基本構文

PHPの変数は、ドル記号 $ で始まり、その後に名前が続きます。

$zvire = '猫';

文字列(文字の並び)は、引用符またはアポストロフィで囲みます。

$a = "引用符";
$b = 'アポストロフィー';

桁は引用符で囲まない。

$a = 5;
$b = 10;
$c = 3.14159;

変数名はアルファベットと数字のみ使用可能です。名前は必ずアルファベットで始まる。

名前が複数の単語からなる場合、慣例的に camelCase 構文(最初の文字が小文字で、他のすべての単語が大文字で始まる)を使用します。

$kocka = 'キティちゃん';
$rychlyPocitac = 'もちろん、私のものです!';
$pocetRohuJednorozce = 1;

名前には、スペース、ダッシュ、フック、カンマ、引用符、ブラケット、その他の特殊文字を含んではならない。唯一許される特殊文字は underline です。

小数点以下の数字は、ピリオドを付けて表記すること。

$pi = 3.14159;

変数を定義する際に、直接数学的な演算を行うと便利なことがよくあります。

$a = 5;
$b = 3;
$c = $a + $b; // 5 + 3 を追加
echo $c; // 8を表示します。

引用符またはアポストロフィの正しい挿入

引用符とアポストロフィは任意に組み合わせてはならない。例えば、引用符を使うことにした場合、文字列の最後も引用符で終わらせ、中では使わないようにしなければならない。

したがって、これは間違いです。

echo "<img src="obrazek.gif">";

連鎖の始まりと終わりが明確でないからです。したがって、引用符とアポストロフィを入れ子にすることはできません。

解決策の一つとして、エスケープと呼ばれる、問題のある文字の前にバックスラッシュを付ける方法が考えられます。

echo "<img src="image.gif">.";

バックスラッシュは、次の文字がまさに使いたい文字になることを意味しています。

ただし、HTMLコードを出力する場合は、文字列全体をアポストロフィで囲み、通常の方法で引用符を使用することが望ましい。

echo '<img src="image.gif">.';

または、逆も可能です。

echo "<img src='picture.gif'>.";

URLアドレスやフォームから変数への入力

クエスチョンマークを含むアドレスは入力変数に関する情報を持ち、例えば index.php?page=contacts は変数 page と値 contacts を表します。この変数の値は $_GET['page'] として読み込まれます。

クエスチョンマーク文字は、ディスク上のファイル名とは全く関係ありません。アドレスでパラメータを渡すのは、常に同じファイルです。

この問題については、データ送信の方法の記事で詳しく解説しています。

アドレスから変数の中身を定義する

スクリプトの実行時に利用可能な(したがってすぐに使用できる)変数もあり、これらは スーパーグローバル変数 と呼ばれます。例えば、URLから値を読み取る場合、$_GET変数を使用する。 使い方は以下の通りです。

$a = $_GET['a'];
echo $a;

このスクリプトは、クエスチョンマークの後のURLにあるものをソースコードにプリントします。

警告!このサンプルは安全ではありません不正な訪問者がURLに例えばHTMLコードを渡すと、そのコードがページに挿入されて実行されてしまうのです。したがって、常に出力を処理する必要があります。このために htmlspecialchars() 関数が使用されます。

$a = $_GET['a'];
echo htmlspecialchars($a);

パラメータ ?a=anything を指定せずにページにアクセスすると、 $_GET['a'] 変数は存在せず、PHP はエラーメッセージを投げるでしょう。この条件を条件として扱い、変数が存在しない場合は何もしない(あるいは代替の内容を出力する)必要があります。 変数が存在するかどうかは isset() 関数で確認することができます。

if (isset($_GET['a'])) {
$a = $_GET['a'];
echo htmlspecialchars($a);
} else {
echo '変数 "a "が存在しない!';
}

カウントを使った例

URLアドレスの変数を使えば、ドッグピース、例えば足し算をして結果を直接書き込むことができます。

echo $_GET['a'] + $_GET['b'];

もし、URLの中にさらに入力パラメータを入れたい場合は、アンパサンド(&)で区切らなければなりません。アドレスは次のようになります: index.php?a=5&b=3.

テキスト入力(文字列)のリンク

また、2つのテキスト入力(文字列)を簡単にリンクさせることができます。これはドット演算子を用いて行われる。変数やリストアップの際にリンクすることができます。

$a = 'ドッグ';
$b = '猫';
echo $a . 'a' . $b;

犬と猫」と書いてある。

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
7.
Status:
All systems normal.
2024