整數是屬於集合{..., -2, -1, 0, 1, 2, ...}的完整數字。整數的最大值和最小值取決於 PHP 所執行的系統。在大多數現代系統上,整數通常是 64 位元的值,也就是說它可以表示-9_223_372_036_854_775_808到9_223_372_036_854_775_807(含頭尾)。
<?php
$a = 1234;
$a = 1_234_567;
你可以使用進位前綴,以 10 進位以外的進位來書寫整數字面值:
<?php
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0o123; // octal number (as of PHP 8.1.0)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
摘自 PHP 的說明文件
在 PHP 中,浮點數用來表示實數的一部分。它們由一個或多個數字組成,並以小數分隔符隔開。
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // as of PHP 7.4.0
並非所有數字和算術運算都能用浮點數來完成。用浮點數來表示金額可能導致捨入誤差。
<?php
$result = 0.1 + 0.2; // => 0.30000000000000004
PHP 提供了多種運算子來執行算術運算。PHP 的算術運算子遵循標準的數學運算順序。PHP 提供的運算子有:
$moles = +'10';
$aLotOfMoles = 6.022 * 10**23 * $moles;
Lilly 喜歡烹飪。 她想和朋友舉辦一場披薩派對。 為了充分利用食材,她需要在開始前知道每種食材需要多少。
為了解決這個問題,Lilly 已經草擬了一個程式來自動處理部分規劃,但需要你幫忙完成。 你願意幫 Lilly 舉辦一場比例完美的披薩派對嗎?
Lilly 喜歡薄脆、餅皮較薄的披薩。 中間所需的麵團至少為 200 公克,但每多供應一個人,就需要再 20 公克麵團。
grams = pizzas * ((persons * 20) + 200)
Lilly 需要一個函式,它會:
例如,要做 4 個可供 8 人食用的披薩:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateDoughRequirement(4, 8);
// => 1440
Lilly 塗抹醬汁時非常講究,但她的披薩大小可能不一致。 根據她的經驗,她知道每個披薩需要 125 毫升醬汁。 Lilly 需要一個函式,計算要買幾罐醬汁。
cans of sauce = pizzas * sauce per pizza / sauce can volume
例如,Lilly 需要做 8 個披薩,而每罐是 250 毫升:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateSauceRequirement(8, 250);
// => 4
起司以正立方體販售,並依大小計價。
Lilly 使用的公式不是披薩面積公式,因為她 不想 讓起司覆蓋整個面積。
她決定使用以下公式,來判斷邊長(cheese_dimension)的起司方塊可以做出多少個直徑(diameter)的披薩:
pizzas = (cheese_dimension³) / (thickness * PI * diameter)
建立一個函式,它會:
例如,給定一個 25x25x25 公分的起司方塊、0.5 公分厚的起司層,以及直徑 30 公分的披薩:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateCheeseCubeCoverage(25, 0.5, 30);
// => 331
最後,Lilly 想讓她的披薩每個都切成 8 片,並平均分給她的朋友。
建立一個函式,它會:
例如:
<?php
$pizza_pi = new PizzaPi();
$pizza_pi->calculateLeftOverSlices(2, 4);
// => 0
$pizza_pi->calculateLeftOverSlices(4, 3);
// => 2