以下是原文翻译成繁體中文的版本:

PHP - Integer Division

# PHP - 整數除法:初學者指南

你好,未來的PHP愛好者!今天,我們將要深入探索PHP中整數除法的迷人世界。別擔心如果你從未寫過一行代碼 - 我將成為你這次旅程中的友好導師,等到這個教學結束時,你將會像專家一樣進行整數除法!

## 什麼是整數除法?

在我們投入範例之前,讓我們先來討論一下什麼是整數除法。簡單來說,當我們將一個整數除以另一個整數,並得到一個整數結果時,這就是整數除法。這就像切披薩一樣 - 你不能有半個切片(好吧,你可以,但讓我們現在保持簡單)。

在PHP中,我們使用單向前斜杠 `/` 進行普通除法,和雙向前斜杠 `//` 進行整數除法。`//` 運算符就是我們這堂課的披薩切刀!

現在,讓我們挽起袖子,來看看一些範例。

## 範例 1:基本整數除法

讓我們從一個簡單的範例開始:

```php
<?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會向零靠攏。所以,-3.33333... 變成了-3,而不是-4。

這就像你欠了10美元,並試圖在3個朋友之間分擔。每個朋友會欠3美元(不是4美元),而你還會剩下1美元的債務。

範例 3:被除數為零

當我們嘗試將零除以另一個數字時會發生什麼?我們來看看:

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

這將輸出:

0 // 5 的結果是: 0

這裡沒有驚喜!零除以任何數字(除零以外)始終是零。這就像試圖在朋友之間分擔零個餅乾 - 無論你有多少朋友,每個人都會得到零個餅乾!

範例 4:除以零

現在,讓我們嘗試一些更危險的事情 - 除以零:

<?php
try {
    $result = 10 // 0;
    echo "10 // 0 的結果是: " . $result;
} catch (DivisionByZeroError $e) {
    echo "哎呀! " . $e->getMessage();
}
?>

如果你運行這段代碼,你會看到:

哎呀!除以零

在數學中,除以零是未定義的。在PHP中,它會拋出 DivisionByZeroError。這就像試圖將你的餅乾分給零個朋友 - 這根本沒有意義!

記住,在進行除法之前總是要檢查零,以避免在代碼中出現這些錯誤。

整數除法的實際用途

你可能會想,“我到底什麼時候會在現實生活中使用整數除法?”這個問題問得好!以下是一些實際情況:

  1. 計算分頁的頁數:如果你有100個項目,並且想要每頁顯示10個,你會使用 100 // 10 來獲得頁數。

  2. 將分鐘轉換為小時:將150分鐘轉換為小時,你會使用 150 // 60

  3. 判斷一年是否為世紀年:如果 year // 100 沒有餘數,則該年是世紀年。

這裡有一個快速範例,將分鐘轉換為小時:

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

echo "$totalMinutes 分鐘是 $hours 小時和 $remainingMinutes 分鐘";
?>

這將輸出:

150 分鐘是 2 小時和 30 分鐘

整數除法方法摘要

這裡是我們討論過的整數除法方法的快速參考表:

方法 描述 範例
// 基本整數除法 10 // 3 = 3
// 與負數 向零靠攏 -10 // 3 = -3
被除數為0 始終結果為0 0 // 5 = 0
除以0 拋出DivisionByZeroError 10 // 0 = 錯誤

記住,熟能生巧!不要害怕在自己的PHP代碼中實驗這些概念。在你意識到之前,你將會在睡夢中進行整數除法(但願你會有更好的休息)!

未來的PHP大師,快樂編程!

Credits: Image by storyset