変数と定数

変数(variable)とは

  • 変数はプログラム中のメモリ領域に付けた名前です
  • さまざまな値を一時的に記憶しておくために使われます
  • 言葉(文字列)や数字(数値)を一時的に保存する「箱」
  • 繰り返し使う言葉は「変数」として使う
  • 1回だけ書いてコピーするという発想
変数の名前付けルール
  • 変数宣言や型の宣言は必要ない
  • 変数の名前は「$」で始める(数字で始めることはできない)
  • 変数名の先頭は英文字かアンダースコアであること
  • 変数名の2文字目以降は、英数字かアンダースコアであること(「- ハイフン」は不可)
  • 変数名の大文字・小文字は区別される

予約語について

  • 変数名のルールとしてもうひとつ、「予約語は使えない」というものがあります。予約語とはPHPの言語自体に使われているさまざまな語句です。
  • 詳細は以下にまとまっていますのでざっと眺めておくと良いでしょう。

予約語の一覧

読みやすいコードのための名前付け
  • 変数の中身を理解しやすい
  • 長すぎたり、省略し過ぎたりしない
  • 似たような名前を付けない
  • 基本的には英単語
  • 決められた記法で統一する(キャメルケース記法、アンダースコア記法、Pascal記法)
変数の使い方
  • 変数名を付けて文字列や数値を格納する
  • 変数名は英単語で命名するのが一般的

あいさつを変数に格納する

<?php
  $message = 'こんにちは';

変数に格納したあいさつを表示する

<?php
// 変数:値につけるラベル

// $から始まる
// 英数字_が使える
// $のあとは数字はだめ
// 大文字小文字は区別される apple Apple

$message = 'Hello World!';
echo $message;
変数に対する処理の違い
  • ダブルクォーテーション ・・・文字列中の変数を展開する
  • シングルクォーテーション・・・文字列中の変数を展開しない

扱えるデータ型について

  • 扱えるデータ型について
  • var_dumpを使って型を調べる
<?php
// 変数:データにつけるラベル

// 文字列 "" ''
// 数値(整数、小数)
// 論理値(true/false)
// null(何もない)
// 配列
// オブジェクト

$message = 'Hello World!';
$x = 5;
$y = 1.22;
$flag = true;
$n = null;

var_dump($message);
var_dump($x);
var_dump($y);
var_dump($flag);
var_dump($n);

定数

  • 途中で中身を変更できない入れ物のことを「定数」と呼びます
定数と変数の違い
  • 定数に一度何かデータを代入するとそれが固定値となり、それ以降プログラム処理の中で違うデータに変更することはできません

define ( '定数名', '値' );

《例1》

<?php

// 変数:データにつけるラベル(変更可能)

// 定数:変更不可

define( 'ADMIN_EMAIL', 'admin@gmail.com');
define( 'LIST_COUNT', 15);

echo ADMIN_EMAIL;

《例2》

<?php
  define ( 'BIRTHDAY', '9月15日です' );
  echo ( BIRTHDAY );  // 定数BIRTHDAYを表示します

データの型

数値型 整数型(integer)

-2、0、108など

浮動小数点型 1.414、0.5、5.5e6など

文字列型(string)

'こんにちは' など
真偽型(bool、boolean)

TRUE、FALSE

複合型(array、resource、object) 上に含まれない複合的な型

文字列の表現には注意
  • 以下の例では、変数展開が必要な「改行」処理に「ダブルクォート」を設定しています
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>PHP入門教室</title>
</head>
<body>
<?php
  $url = 'http://www.felica.info/kikin/web.shtml';
  $memo1 = "フェリカテクニカルアカデミー - Webサイト制作科( {$url} )";
  $memo2 = 'フェリカテクニカルアカデミー - Webサイト制作科( ' . $url. ' )';
  echo $memo1 . '<br>' . "\n";
  echo $memo2 . "\n";
?>
</body>
</html>

変数の中身を調べる

  • var_dump( $変数名 ) 関数
  • 記述をしている途中で変数の内容を確認するには、var_dump($変数名); という1文をコードの中に記述すると、変数の型と値を出力することができます
変数を使った出力
<?php
//[$]変数宣言
//変数名は半角英数+_(アンダースコア)
//先頭文字は数字禁止!!
$mikan = 'みかん';
$ringo = 'りんご';
//変数宣言などの出力に関係ないものはうえに書く。
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>PHPの変数</title>
</head>
<body>
<?php
//出力に関係するものはbody内に書く。
//echo $mikan,$ringo;
//print $ringo,$mikan;
echo "私が好きなのは{$mikan}{$ringo}です";
//[""]ダブルクォートは変数を展開できる。変数は{}波カッコで囲う。
echo '私が好きなのは $mikan と $ringo です';
//
//phpの終了タグ。他の言語があるときは入れる。ない時は入れない。
?>
</body>
</html>

まとめ

  • 変数は、データを一時的に保管するための入れ物です
  • 変数は、変数に値が最初にセットされたタイミングで自動的に準備されます
  • 変数の名前は「$」で始まらなければなりません