PHP 菜鳥(niǎo)教程

PHP 高級(jí)教程

PHP & MySQL

PHP 參考手冊(cè)

PHP運(yùn)算符章節(jié)中了解了如何執(zhí)行基本的數(shù)學(xué)運(yùn)算。讓我們?cè)倏匆粋€(gè)實(shí)例:

<?php
echo 7 + 3; // 輸出: 10
echo '<br>';
echo 7 - 2; // 輸出: 5
echo '<br>';
echo 7 * 2; // 輸出: 14
echo '<br>';
echo 7 / 2; // 輸出: 3.5
echo '<br>';
echo 7 % 2; // 輸出: 1
?>
測(cè)試看看?/?

每個(gè)數(shù)學(xué)運(yùn)算都有一定的優(yōu)先級(jí);通常,乘法和除法是在加法和減法之前執(zhí)行的。但是,括號(hào)可以更改此優(yōu)先級(jí)。不管操作的優(yōu)先級(jí)如何,總是首先對(duì)括號(hào)內(nèi)的表達(dá)式進(jìn)行求值,如以下示例所示:

<?php
echo 5 + 4 * 10;         // 輸出: 45
echo '<br>';
echo (5 + 4) * 10;       // 輸出: 90
echo '<br>';
echo 5 + 4 * 10 / 2;     // 輸出: 25
echo '<br>';
echo 8 * 10 / 4 - 2;     // 輸出: 18
echo '<br>';
echo 8 * 10 / (4 - 2);   // 輸出: 40
echo '<br>';
echo 8 + 10 / 4 - 2;     // 輸出: 8.5
echo '<br>';
echo (8 + 10) / (4 - 2); // 輸出: 9
?>
測(cè)試看看?/?

在以下部分中,我們將學(xué)習(xí)一些內(nèi)置的PHP函數(shù),這些函數(shù)最常用于執(zhí)行數(shù)學(xué)運(yùn)算。

查找數(shù)字的絕對(duì)值

可以使用abs()函數(shù)找到整數(shù)浮點(diǎn)數(shù)的絕對(duì)值,如以下示例所示:

<?php
echo abs(5) . "<br>";    // 輸出: 5 (integer)
echo abs(-5) . "<br>";   // 輸出: 5 (integer)
echo abs(4.2) . "<br>";  // 輸出: 4.2 (double/float)
echo abs(-4.2) . "<br>"; // 輸出: 4.2 (double/float)
?>
測(cè)試看看?/?

正如您看到的,給定數(shù)字是否為負(fù),則返回的值為正。但是,如果數(shù)字為正,則此函數(shù)僅返回?cái)?shù)字。

向上或向下舍入小數(shù)值

ceil()函數(shù)可用于將小數(shù)取整到下一個(gè)最高整數(shù),而floor()函數(shù)可用于將小數(shù)取整到下一個(gè)最小整數(shù),如以下示例所示:

<?php
//分?jǐn)?shù)向上取整
echo ceil(4.2) . "<br>";    // 輸出: 5
echo ceil(9.99) . "<br>";   // 輸出: 10
echo ceil(-5.18) . "<br>";  // 輸出: -5
 
//分?jǐn)?shù)向下舍入
echo floor(4.2) . "<br>";    // 輸出: 4
echo floor(9.99) . "<br>";   // 輸出: 9
echo floor(-5.18) . "<br>";  // 輸出: -6
?>
測(cè)試看看?/?

找出數(shù)字的平方根

您可以使用sqrt()函數(shù)來(lái)查找正數(shù)的平方根。 如果數(shù)字為負(fù)數(shù),則返回NaN。 這里有一個(gè)實(shí)例:

<?php
echo sqrt(9) . "<br>";   // 輸出: 3
echo sqrt(25) . "<br>";  // 輸出: 5
echo sqrt(10) . "<br>";  // 輸出: 3.1622776601684
echo sqrt(-16) . "<br>"; // 輸出: NAN
?>
測(cè)試看看?/?

產(chǎn)生隨機(jī)數(shù)

rand()函數(shù)可用于生成隨機(jī)數(shù)。您可以選擇通過(guò)傳遞min,max參數(shù)來(lái)指定范圍,如以下示例所示:

<?php
//生成一些隨機(jī)數(shù)
echo rand() . "<br>";
echo rand() . "<br>";
 
//生成一些介于1到10之間的隨機(jī)數(shù)(包括1和10)
echo rand(1, 10) . "<br>";
echo rand(1, 10) . "<br>";
?>
測(cè)試看看?/?

如果調(diào)用 rand ()函數(shù)時(shí)沒(méi)有可選的 min,max 參數(shù),那么它將返回一個(gè)介于0和getrandmax ()之間的偽隨機(jī)數(shù)。函數(shù) getrandmax ()顯示了最大的隨機(jī)值,在 Windows 平臺(tái)上只有32767。因此,如果您需要一個(gè)大于32767的范圍,您可以簡(jiǎn)單地指定 min 和 max 參數(shù)。

十進(jìn)制數(shù)與二進(jìn)制數(shù)相互轉(zhuǎn)換

decbin()函數(shù)用于將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。而其對(duì)應(yīng) bindec()函數(shù)將數(shù)字從二進(jìn)制轉(zhuǎn)換為十進(jìn)制。

<?php
//將十進(jìn)制轉(zhuǎn)換為二進(jìn)制
echo decbin(2) . "<br>";    // 輸出: 10  
echo decbin(12) . "<br>";   // 輸出: 1100  
echo decbin(100) . "<br>";  // 輸出: 1100100
 
//將二進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo bindec(10) . "<br>";       // 輸出: 2 
echo bindec(1100) . "<br>";     // 輸出: 12  
echo bindec(1100100);  // 輸出: 100
?>
測(cè)試看看?/?

十進(jìn)制數(shù)與十六進(jìn)制數(shù)相互轉(zhuǎn)換

dechex()函數(shù)用于將十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制表示形式。而 hexdec()函數(shù)用于將十六進(jìn)制字符串轉(zhuǎn)換為十進(jìn)制數(shù)字。

<?php
//將十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
echo dechex(255) . "<br>";  // 輸出: ff
echo dechex(196) . "<br>";  // 輸出: c4
echo dechex(0) . "<br>";    // 輸出: 0
 
//將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo hexdec('ff') . "<br>";  // 輸出: 255
echo hexdec('c4') . "<br>";  // 輸出: 196
echo hexdec(0);     // 輸出: 0
?>
測(cè)試看看?/?

十進(jìn)制數(shù)與八進(jìn)制相互轉(zhuǎn)換

decoct()函數(shù)用于將十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制表示形式。octdec()函數(shù)用于將八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。

<?php
//將十進(jìn)制轉(zhuǎn)換為八進(jìn)制 
echo decoct(12) . "<br>";   // 輸出: 14
echo decoct(256) . "<br>";  // 輸出: 400
echo decoct(77) . "<br>";   // 輸出: 115
 
//將八進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo octdec('14') . "<br>";   // 輸出: 12
echo octdec('400') . "<br>";  // 輸出: 256
echo octdec('115');  // 輸出: 77
?>
測(cè)試看看?/?

將數(shù)字從一個(gè)基本系統(tǒng)轉(zhuǎn)換為另一個(gè)基本系統(tǒng)

base_convert()函數(shù)可用于將數(shù)字從一個(gè)基本系統(tǒng)轉(zhuǎn)換為另一個(gè)基本系統(tǒng)。例如,您可以將十進(jìn)制(基數(shù)10)轉(zhuǎn)換為二進(jìn)制(基數(shù)2),十六進(jìn)制(基數(shù)16)轉(zhuǎn)換為八進(jìn)制(基數(shù)8)),八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,十六進(jìn)制轉(zhuǎn)換為十進(jìn)制,依此類推。

此函數(shù)接受三個(gè)參數(shù):要轉(zhuǎn)換的數(shù)字,當(dāng)前所用的基數(shù)以及要轉(zhuǎn)換成的基數(shù)?;菊Z(yǔ)法如下:

base_convert(number,frombase,tobase);

frombase和tobase都必須在2到36之間(包括2和36)。 底數(shù)大于10的數(shù)字將由字母a-z表示,其中a表示10,b表示11,z表示35。這是一個(gè)簡(jiǎn)單的示例,說(shuō)明此函數(shù)的工作方式:

<?php
//將十進(jìn)制轉(zhuǎn)換為二進(jìn)制
echo base_convert('12', 10, 2) . "<br>";  // 輸出: 1100
//將二進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo base_convert('1100', 2, 10) . "<br>";  // 輸出: 12
 
//將十進(jìn)制轉(zhuǎn)換為十六進(jìn)制
echo base_convert('10889592', 10, 16) . "<br>";  // 輸出: a62978
//將十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo base_convert('a62978', 16, 10) . "<br>";  // 輸出: 10889592
 
//將十進(jìn)制轉(zhuǎn)換為八進(jìn)制
echo base_convert('82', 10, 8) . "<br>";  // 輸出: 122
//將八進(jìn)制轉(zhuǎn)換為十進(jìn)制
echo base_convert('122', 8, 10) . "<br>";  // 輸出: 82
 
//將十六進(jìn)制轉(zhuǎn)換為八進(jìn)制
echo base_convert('c2c6a8', 16, 8) . "<br>";  // 輸出: 60543250
//將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制
echo base_convert('60543250', 8, 16) . "<br>";  // 輸出: c2c6a8
 
//將八進(jìn)制轉(zhuǎn)換為二進(jìn)制
echo base_convert('42', 8, 2) . "<br>";  // 輸出: 100010
//將二進(jìn)制轉(zhuǎn)換為八進(jìn)制
echo base_convert('100010', 2, 8) . "<br>";  // 輸出: 42
 
//將十六進(jìn)制轉(zhuǎn)換為二進(jìn)制
echo base_convert('abc', 16, 2) . "<br>";  // 輸出: 101010111100
//將二進(jìn)制轉(zhuǎn)換為十六進(jìn)制
echo base_convert('101010111100', 2, 16);  // 輸出: abc
?>
測(cè)試看看?/?

注意:base_convert()函數(shù)將始終返回字符串值。如果返回的值以10為底,則所得的字符串可以用作計(jì)算中的數(shù)字字符串,并且在執(zhí)行計(jì)算時(shí),PHP會(huì)將其轉(zhuǎn)換為數(shù)字。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清