気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPの基礎
  2. 0 view

変数

要点のまとめ

・変数とは — 値を格納(代入)する箱のようなもの
  「$string = “abc”;」 → $stringという名前の変数に「abc」という文字列を格納
・変数名 — ドル記号($)+任意の名前
  大文字と小文字は区別される — $aと$Aは別の変数
  文字またはアンダースコア(_)で始まり、文字、数字、アンダースコアで構成
  (例:$abcは使えるが、$123はエラー)
・型 — データ型の指定は不要(Javaでは「String s = “abc”;」のように型を定義)
  型の自動変換機能に注意 — (例:「if (“1円” == 1)」はtrueとなる)
  比較演算子「===」 — 型を含めて比較(例: 「if (“1円” === 1)」 )
・変数の出力
  ”$temp”(変数値の出力)/’$temp’(変数名の出力)の違い
  ショートタグ()は使わない → 「」とする
・変数の結合
  結合演算子「.」 (例:$a . “@” . $b)
  結合代入演算子「.=」
・変数の有効範囲(変数のスコープ) — 変数が使用可能な範囲のこと
  ・グローバルスコープ — スクリプト全体で有効
    グローバル変数があちこちに増えると収拾がつかなくなるので注意
  ・ローカルスコープ — 一部で有効(ユーザ定義関数の中など)
  ・スーパーグローバル — フォーム入力値などが含まれるPHP特有の変数
    $_GET、$_POST、$_SESSION → 「フォームとの連携」で説明
  ※詳しくは「ユーザ定義関数」を参照

 変数とは、文字列や数値などの値を入れておく箱のようなものです。何度も同じ値を「echo “テスト”;」のように直接記述するとメンテナンスが面倒になるので、変数に値を格納(代入)しておき、必要に応じて参照したり更新します。

変数の使用例

 変数の使用例を以下に示します。ここでは、$aのような簡素な名前の変数を使用していますが、実際には$pageや$titleのように、できるだけ意味のわかる変数名を付けておいた方が無難です。

<?php
$a = "千葉県";
echo $a;
?>

○実行結果

千葉県

変数名

 変数名の付け方にはルールがあります。「$」で始まり文字またはアンダースコア(_)が続き、文字、数字、アンダースコアで構成されます。たとえば、「$1st」のような変数名は使用できません。また、大文字と小文字は区別されます。

<?php
$1st = "千葉";
echo $1st;
?>

○実行結果

Parse error: syntax error …

参照の代入

 変数の前に「&」を付加して別の変数に代入すると、その変数の内容がコピーされるのではなく、参照が代入されます。つまり、元の変数と連動して値が変更されます。次の例では、$aの参照を$bに代入しているので、$aの値を変更すると、$bの値も変更されます。

<?php
$a = "aaa";
$b = &$a;
$a = "bbb";

echo $a;
echo $b;
?>

○実行結果

bbbbbb

変数のデータ型の自動変換

 PHPの変数は、文字列なのか数値なのかを示すデータ型を指定せずに使用できます。これは、PHPが文脈に合わせてデータ型を判断してくれるからです。これは便利ですが、注意も必要です。たとえば、数値と文字列の変数を、データ型をどちらかに統一せずに比較すると、PHPによってどちらも数値に自動変換されて比較されます。次の例では、「==」という比較演算子を使用して「$aが$bと一致するか」を検査していますが、データ型の自動変換によって「1円」が数値の「1」と一致してしまいます。これを避けるには、データ型も含めて比較する演算子「===」を使用します。

<?php
$a = "1円";
$b = 1;

// 型が自動変換される
if ($a == $b) {
    echo "一致";
}

// データ型も含めて比較
if ($a === $b) {
    echo "データ型も一致";
}
?>

○実行結果

一致

変数の出力

 変数をダブルクォーテーション(”)で囲むと変数値が出力され、シングルクォーテーション(’)で囲むと変数名が出力されます。ダブルクォーテーションで変数を囲んで文字列と変数値を混在させる場合は、変数名の区切りを明確にできるように「千葉県{$b}」と変数名を波括弧で囲むこともできます。

<?php
$a = "千葉県";
$b = "柏市";
echo "千葉県$b" . "<br />";
echo "千葉県{$b}に住んでいます" . "<br />";
echo '千葉県$b';
?>

○実行結果

千葉県柏市
千葉県柏市に住んでいます
千葉県$b

 変数はショートタグ(例:「」)という簡易的な記述法で出力することもできますが、その方法はXMLのタグと混在すると問題が発生するので、使わないようにしましょう。

変数の結合

 変数は結合演算子「.」を使用して結合することができます。例を以下に示します。

<?php
$a = "千葉県";
$b = "柏市";
echo $a . $b;
?>

○実行結果

千葉県柏市

 結合代入演算子「.=」を使用しても文字列や変数を結合することができます。1つの変数の最後尾に、次々に文字列や変数の内容を追加していくイメージです。

<?php
$a = "千葉県";
$a .= "柏市";
echo $a;
?>

○実行結果

千葉県柏市

変数の有効範囲

 変数には有効範囲があります。これについては「ユーザ定義関数」の中で説明します。

PHPの基礎の最近記事

  1. PHP 7の宇宙船演算子の使い方

  2. 条件分岐

  3. 処理の繰り返し

  4. 変数

関連記事

PAGE TOP