【独学】はじめてのWebプログラミング – 5.2 PHPの基礎②

文字列

前回、変数に文字列を格納するケースを学習しました。
ここでは、文字列の応用について解説します。

文字列の結合

例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

$string = 'Hello'.'World';  // 文字列の結合

echo $string;

?>
ブラウザ

文字列の結合は、ドット(.)を使います。
‘Hello’という文字列と、’World’という文字列を、間にドットを記述することで結合することができます。変数$stringには、結合された文字列である「HelloWorld」が格納されます。

以下のようにも書けます。

htdocs/PHP/test.php

<?php

$string1 = 'Hello';
$string2 = 'World';

$string = $string1.$string2;  // 文字列の結合

echo $string;

?>
ブラウザ

同じ結果になりました。
変数$string1に文字列「Hello」、変数$string2に文字列「World」を格納します。
これらの変数をドットで結合することで、格納されている値が結合されます。
よって、変数$stringには、結合された文字列である「HelloWorld」が格納されます。

以下のように、シングルクォーテーションの文字列と変数を結合することもできます。

htdocs/PHP/test.php

<?php

$string = '佐藤';  

echo '名前は'.$string.'です';

?>
ブラウザ

‘名前は’という文字列と、変数$stringと、’です’という文字列を、間にドットを記述することで結合しています。この場合、変数$stringは、格納されている値「佐藤」が出力されます。

ダブルクォーテーション

ここまで、文字列はシングルクォーテーション(’)で表現してきました。
実は、文字列はダブルクォーテーション(”)でも書くことができます。

htdocs/PHP/test.php

<?php

echo 'Hello, World';  // シングルクォーテーション

echo '<br>';

echo "Hello, World";  // ダブルクォーテーション

?>
ブラウザ

シングルクォーテーションでもダブルクォーテーションでも、同じ出力結果になりました。
以下のように書き換えてみます。

htdocs/PHP/test.php

<?php

$string1 = '佐藤';

echo 'こんにちは、$string1 さん';  // ①シングルクォーテーション

echo '<br>';

$string2 = "佐藤";

echo "こんにちは、$string2 さん";  // ②ダブルクォーテーション

?>
ブラウザ

①ではシングルクォーテーションの中に変数を記述しており、echoでは変数名がそのまま表示されています。

②ではダブルクォーテーションの中に変数を記述しており、echoでは変数に格納されている値が表示されています。

このように、ダブルクォーテーションの中に変数を記述すると、変数に格納されている値が使われるのです。
変数に格納されているのが数値でも同様です。

htdocs/PHP/test.php

<?php

$number1 = 100;  

echo '数字は、$number1 です';  // シングルクォーテーション

echo '<br>';

$number2 = 100; 

echo "数字は、$number2 です";  // ダブルクォーテーション

?>
ブラウザ

では、シングルクォーテーションとダブルクォーテーション、どちらを使えばよいのでしょうか。それは、シングルクォーテーションです。
ダブルクォーテーションの場合、内部的に「変数はあるかな?あったら格納されている値を取り出して…」という処理が行われるため、処理速度が遅くなるためです。
変数を文字列と混在させて出力したい場合は、以下のように書きましょう。

htdocs/PHP/test.php

<?php

$string = '佐藤';

echo 'こんにちは、'.$string.'さん';

?>

これで、シングルクォーテーションだけで、変数を出力させることができました。

数値の計算

PHPでの数値の計算について解説します。

足し算と引き算

PHPでの足し算、引き算は、算数と同様「+」「ー」を使います。
例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

// 足し算の例①
echo 1 + 1;
echo '<br>';

// 足し算の例②
$number1 = 2;
$number2 = 3;
echo $number1 + $number2;
echo '<br>';

// 引き算の例①
echo 2 - 1;
echo '<br>';

// 引き算の例②
$number1 = 5;
$number2 = 2;
echo $number1 - $number2;

?>
ブラウザ

掛け算と割り算

PHPでの掛け算は「アスタリスク(*)」、割り算は「スラッシュ(/)」を使います。
例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

// 掛け算の例①
echo 1 * 1;
echo '<br>';

// 掛け算の例②
$number1 = 2;
$number2 = 3;
echo $number1 * $number2;
echo '<br>';

// 割り算の例①
echo 2 / 1;
echo '<br>';

// 割り算の例②
$number1 = 5;
$number2 = 2;
echo $number1 / $number2;

?>
ブラウザ

余り

PHPで余りを計算する場合は「%」を使います。

htdocs/PHP/test.php

<?php

// 余りの計算の例①
echo 6 % 3;
echo '<br>';

// 余りの計算の例②
$number1 = 7;
$number2 = 5;
echo $number1 % $number2;

?>
ブラウザ

単項演算子

単項演算子とは、「++」(インクリメント)や「–」(デクリメント)のように書き、数値をプラス1したり、マイナス1することができます。
例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

// インクリメントの例
$number = 1;

echo $number;
echo '<br>';

$number++;  // インクリメント(ここで、$numberに格納されている値は、プラス1されます)

echo $number;
echo '<br>';

// デクリメントの例
$number = 10;

echo $number;
echo '<br>';

$number--;  // デクリメント(ここで、$numberに格納されている値は、マイナス1されます)

echo $number;

?>
ブラウザ

「$number++」は、「$number = $number + 1」(変数$numberの値にプラス1した値を、再び変数$numberに格納する)と同じです。

「$number–」は、「$number = $number – 1」(変数$numberの値にマイナス1した値を、再び変数$numberに格納する)と同じです。

代入演算子

代入演算子は、「+=」「-=」「*=」「/=」のように書き、数値を加算したり、減算したり、乗算したり、除算することができます。
例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

// 代入演算子(加算)の例
$number = 1;

echo $number;
echo '<br>';

$number += 2;  // 代入演算子(加算):$numberに格納されている値は、プラス2されます。

echo $number;
echo '<br>';

// 代入演算子(減算)の例
$number = 10;

echo $number;
echo '<br>';

$number -= 5;  // 代入演算子(減算):$numberに格納されている値は、マイナス5されます。

echo $number;
echo '<br>';

// 代入演算子(乗算)の例
$number = 2;

echo $number;
echo '<br>';

$number *= 3;  // 代入演算子(乗算):$numberに格納されている値は、掛ける3されます。

echo $number;
echo '<br>';

// 代入演算子(除算)の例
$number = 10;

echo $number;
echo '<br>';

$number /= 2;  // 代入演算子(除算):$numberに格納されている値は、割る2されます。

echo $number;
echo '<br>';

?>
ブラウザ

「$number += 2」は、「$number = $number + 2」と同じです。
「$number -= 5」は、「$number = $number – 5」と同じです。
「$number *= 3」は、「$number = $number * 3」と同じです。
「$number /= 2」は、「$number = $number / 2」と同じです。

演算子の優先順位

PHPの四則演算の優先順位は、算数と同じです。
例えば、以下のようになります。

htdocs/PHP/test.php

<?php

// 四則演算の優先順位の例①
echo 1 + 2 * 3;

echo '<br>';

// 四則演算の優先順位の例②
echo (1 + 2) * 3;

?>
ブラウザ

括弧でくくるとそちらの計算が優先されます。

データ型

ここまで、変数には数値(整数)か文字列を格納してきました。
PHPには「データ型」という考え方があり、データの種類を表現します。

例えば、「1」のような数値(整数)は「整数型(=int型)」と言います。
例えば、「Hello, World」のような文字列は「文字列型(=string型)」と言います。
他にも、以下のようなデータ型があります。これは覚えるしかありません。

データ型データの例概要
整数型(int型)1整数
文字列型(string型)Hello, World文字列
論理型(bool型)true「true」または「false」を扱います。
浮動小数点型(float型)0.1小数点の値を扱います。
配列型(array型)[1, 2, 3]データの集合を扱います。詳細は後述します。
オブジェクト型データと手続きの集合を扱います。詳細は後述します。
null型null何も値が無い状態を表します。

var_dump

PHPのvar_dumpという命令を使うことで、変数に格納されている値のデータ型を確認することができます。「var_dump(出力したい変数);」のように使います。
例えば、以下のように書きます。

htdocs/PHP/test.php

<?php

// データ型の確認①(int型)
$test = 1;
var_dump($test);  // var_dumpを使って、画面にデータ型を出力します。
echo "<br>";

// データ型の確認②(string型)
$test = 'Hello, World';
var_dump($test);
echo "<br>";

// データ型の確認③(bool型)
$test = true;
var_dump($test);
echo "<br>";

// データ型の確認④(float型)
$test = 0.1;
var_dump($test);
echo "<br>";

// データ型の確認⑤(null型)
$test = null;
var_dump($test);

?>
ブラウザ

var_dumpを使うことで、変数に格納されている値のデータ型と、その時の実際の値を表示することができました。
例えば、データ型の確認①の変数$testは、整数型(=int型)の値をもっており、その値は「1」です。
例えば、データ型の確認②の変数$testは、文字列型(=string型)の値をもっており、その値は「Hello, World」です。
例えば、データ型の確認③の変数$testは、論理型(=bool型)の値をもっており、その値は「true」です。
例えば、データ型の確認④の変数$testは、浮動小数点型(=float型)の値をもっており、その値は「0.1」です。

null型とは、何も値が無い状態、かつ他のどのデータ型にも属さない状態を示します。

本節の説明は以上になります。

トップページ <<前のカリキュラムへ戻る 次のカリキュラムへ進む>>

タイトルとURLをコピーしました