PHP - 整数除法:初学者指南

こんにちは、未来のPHP愛好家の皆さん!今日は、PHPにおける整数除法の魅力あふる世界に飛び込みます。コードを書いたことがない方も心配しないでください。この旅の親切なガイドとしてお付き合いし、このチュートリアルの終わりには、プロのように整数を除することができるようになります!

PHP - Integer Division

整数除法とは?

具体例に進む前に、まず整数除法とは何かについて話しましょう。簡単に言えば、整数除法は1つの整数を別の整数で割り、整数の結果を得るものです。ピザを切るのと同じで、半分のスライスは作れません(もちろん、作れるけど、今はシンプルに考えましょう)。

PHPでは、通常の除法にはスラッシュ / を使い、整数除法にはダブルスラッシュ // を使います。//オペレータは、このレッスンのピザカッターです!

では、腕をまくって、具体例を見てみましょう。

例1:基本的な整数除法

まず、簡単な例から始めましょう:

<?php
$result = 10 // 3;
echo "10 // 3の結果は: " . $result;
?>

このコードを実行すると以下のようになります:

10 // 3の結果は: 3

ここで何が起きているのでしょうか?10を3で割ると実際には3.33333...(無限に続きます)ですが、整数除法では整数の部分だけに興味があります。したがって、結果は3です。

これをこう考えるとわかりやすいです:10個のクッキーを3人の友達で割ると、それぞれに何個のクッキーがもらえるでしょうか?そうですね、3個ずつで、1個が残ります。

例2:負数の整数除法

少しスパイスを加えて、負数を使ってみましょう:

<?php
$result1 = -10 // 3;
$result2 = 10 // -3;
$result3 = -10 // -3;

echo "-10 // 3の結果は: " . $result1 . "<br>";
echo "10 // -3の結果は: " . $result2 . "<br>";
echo "-10 // -3の結果は: " . $result3;
?>

このコードを実行すると以下のようになります:

-10 // 3の結果は: -3
10 // -3の結果は: -3
-10 // -3の結果は: 3

面白いですね!負数を扱う際に整数除法を行うと、PHPは0に向かって四捨五入します。したがって、-3.33333...は-3になります。

これをこう考えるとわかりやすいです:10ドルの借金を3人で割ると、それぞれが3ドル(4ドルではありません)を負担し、1ドルの借金が残ります。

例3:0を被除数にする整数除法

他の数で0を割るのはどうなるのでしょう?見てみましょう:

<?php
$result = 0 // 5;
echo "0 // 5の結果は: " . $result;
?>

これは以下のようになります:

0 // 5の結果は: 0

特に驚くことはありません!0を他の数(0以外)で割ると常に0になります。0を友達で割るのと同じで、誰もクッキーを得られません!

例4:0で割る整数除法

少し危険なことを試みましょう。0で割るどうなるでしょう?

<?php
try {
$result = 10 // 0;
echo "10 // 0の結果は: " . $result;
} catch (DivisionByZeroError $e) {
echo "おっと! " . $e->getMessage();
}
?>

このコードを実行すると以下のようになります:

おっと! Division by zero

数学では0で割るは未定義ですが、PHPではDivisionByZeroErrorが投げられます。0人の友達でクッキーを割るのは意味がありません!

コードで除法を行う際には、必ず0でないことを確認してください。

整数除法の実用的な用途

実際に整数除法を使うシーンはどこにあるのでしょうか?素晴らしい質問です!以下にいくつかの具体例を挙げます:

  1. ページネーションのページ数を計算する:100のアイテムがあり、10ずつ表示したい場合、100 // 10を使ってページ数を計算します。

  2. 分を時間に変換する:150分を時間に変換する場合、150 // 60を使います。

  3. 西暦年が世紀年かどうかを判定する:年が100で割り切れる場合、その年は世紀年です。

分を時間に変換する簡単な例を見てみましょう:

<?php
$totalMinutes = 150;
$hours = $totalMinutes // 60;
$remainingMinutes = $totalMinutes % 60;

echo "$totalMinutes分は$hours時間と$remainingMinutes分です";
?>

これは以下のようになります:

150分は2時間と30分です

整数除法メソッドのまとめ

ここで説明した整数除法メソッドの簡単な参照表を示します:

メソッド 説明
// 基本的な整数除法 10 // 3 = 3
//と負数 0に向かって四捨五入 -10 // 3 = -3
0を被除数に 常に0 0 // 5 = 0
0で割る DivisionByZeroErrorが投げられる 10 // 0 = Error

練習すれば完璧になります!これらの概念を自分のPHPコードで実験してみてください。すぐに整数を除することができるようになります!

未来のPHPマスター、ハッピーコーディング!

Credits: Image by storyset