導航:首頁 > 編程語言 > phpbccmp

phpbccmp

發布時間:2023-05-13 15:41:52

php 字元串0.01124怎麼轉換成浮點型不失精度

使用(float)強轉即可:

<?php
$str='0.01124';
$num=(float)$str;
var_mp($num);
/*
float(0.01124)
*/

㈡ PHP數組排序函數合集 以及它們之間的聯系分析

下邊提到的幾個數組函數的排序有一些共性 數組被作為排序函數的參數 排序以後 數組本身就發生了改變 函數的返回值為bool類型 函數名中出現單a表示association 含義為 在按值排序的過程中 保持key=>value的對應關系不變 函數名中出現單k表示key 含義為 在按值排序的過程中按照數組key而不是數組的值排序 函數名中出現單r的表示reverse 含義為 按照跟不加r的相反的順序排列 函數名中出現單u的表示user defined 含義為 使用用戶自定義函數排序 如果函數的邏輯是參數 <參數 返回負數 則按照升序排列(p 小 返負升) sort函數升序排序

復制代碼 代碼如下: bool sort ( array &$array [ int $sort_flags= SORT_REGULAR ] ) <?php $fruits = array("lemon" "orange" "banana" "apple"); sort($fruits); var_mp($fruits); ?> 結果 array => string apple (length= ) => string banana (length= ) => string lemon (length= ) => string orange (length= )

rsort降序排列

復制代碼 代碼如下: <?php $fruits = array("lemon" "orange" "banana" "apple"); rsort($fruits); var_mp($fruits); ?> 結果 array => string orange (length= ) => string lemon (length= ) => string banana (length= ) => string apple (length= )

asort按照二維數組值的升序排列(保持key=>value的關聯關系)

復制代碼 代碼如下: <?php $fruits = array("d" => "lemon" "a" => "orange" "b" => "banana" "c" => "apple"); asort($fruits); var_mp($fruits); ?> 結果 array c => string apple (length= ) b => string banana (length= ) d => string lemon (length= ) a => string orange (length= )

arsort按照二維數組值的降序排列(保持key=>value的關聯關系)

復制代碼 代碼如下: <?php $fruits = array("d" => "lemon" "a" => "orange" "b" => "banana" "c" => "apple"); arsort($fruits); var_mp($fruits); ?> 結果 array a => string orange (length= ) d => string lemon (length= ) b => string banana (length= ) c => string apple (length= )

ksort按照數組的key升序排列

復制代碼 代碼如下: <?php $fruits = array("d"=>"lemon" "a"=>"orange" "b"=>"banana" "c"=>"apple"); ksort($fruits); var_mp($fruits); ?> 結果 array a => string orange (length= ) b => string banana (length= ) c => string apple (length= ) d => string lemon (length= )

krsort按照數組key的降序排列

復制代碼 代碼如下: <?php $fruits = array("d"=>"lemon" "a"=>"orange" "b"=>"banana" "c"=>"apple"); krsort($fruits); var_mp($fruits); ?> array d => string lemon (length= ) c => string apple (length= ) b => string banana (length= ) a => string orange (length= )

usort函數按照用戶自定義的函數排序

復制代碼 代碼如下: <?php function cmp($a $b) { if ($a == $b) { return ; } return ($a < $b) ? : ; } $a = array( ); usort($a "cmp"); var_mp($a); ?>

結果 array => int => int => int => int => int uksort使用自定義函數按照數組的key排序

復制代碼 代碼如下: <?php function cmp($a $b) { $a = preg_replace( @^(a|an|the) @ $a); $b = preg_replace( @^(a|an|the) @ $b); return strcasecmp($a $b); } $a = array("John" => "the Earth" => "an apple" => "a banana" => ); uksort($a "cmp"); var_mp($a); ?>

結果 array an apple => int a banana => int the Earth => int John => int uasort將數組用自定義函數按照value排序 保持索引關系不變

復制代碼 代碼如下: <?php // Comparison function function cmp($a $b) { if ($a == $b) { return ; } return ($a < $b) ? : ; } // Array to be sorted $array = array( a => b => c => d => e => f => g => h => ); var_mp($array); // Sort and print the resulting array uasort($array cmp ); var_mp($array); ?>

結果 array a => int b => int c => int d => int e => int f => int g => int h => int array d => int h => int c => int e => int g => int a => int f => int b => int array_multisort排序多個數組或多維數組

復制代碼 代碼如下: <?php $ar = array( array(" " "a") array( " " ) ); array_multisort($ar[ ] SORT_ASC SORT_STRING $ar[ ] SORT_NUMERIC SORT_DESC); var_mp($ar); ?>

結果 array => array => string (length= ) => int => int => int => string a (length= ) => array => int => int => string (length= ) => int => int //說明 上例中 $ar數組優先按照$ar[ ]的字元串值升序排列 如果字元串值相等 再按照$ar[ ]數組的數字值降序排列 array_multisort函數的任意一個位置的參數如果是數組 表示排序時用的值 如果有多個數組參數 優先按照前邊的數組值進行排序 如果是常量 例如 SORT_ASC SORT_DESC SORT_REGULAR SORT_NUMERIC SORT_STRING 表示排序方法(數組取值前優先) ========================================================================================== PHP二維數組排序函數 PHP一維數組的排序可以用sort() asort() arsort()等函數 但是PHP二維數組的排序需要自定義 以下函數是對一個給定的二維數組按照指定的鍵值進行排序 先看函數定義

復制代碼 代碼如下: function array_sort($arr $keys $type= asc ){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type == asc ){ asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach ($keysvalue as $k=>$v){ $new_array[$k] = $arr[$k]; } return $new_array; }

它可以對二維數組按照指定的鍵值進行排序 也可以指定升序或降序排序法(默認為升序) 用法示例

復制代碼 代碼如下: $array = array( array( name => 手機 brand => 諾基亞 price => ) array( name => 筆記本電腦 brand => lenovo price => ) array( name => 剃須刀 brand => 飛利浦 price => ) array( name => 跑步機 brand => 三和松石 price => ) array( name => 手錶 brand => 卡西歐 price => ) array( name => 液晶電視 brand => 索尼 price => ) array( name => 激光列印機 brand => 惠普 price => ) ); $ShoppingList = array_sort($array price ); print_r($ShoppingList); lishixin/Article/program/PHP/201311/21145

㈢ PHP計算百分比的公式函數,如何把數值裝進計算

1、按題意字面理解,不用函數,直接在單元格輸入公式「=25/336」,回車,即可返回所需比例值。 2、如果336人是一列(如A1:A336)姓名明細,25人是在另列(如B1:B336)用「派出」、「留用」、「等待」等字樣標出,則可在任意單元格輸入公式「=COUNTIF(B1:B336,"派出")/COUNTA(A1:A336)」進行計算。 建議,將你的示例上傳,以便有的放矢。

㈣ 請教,php保留兩位小數,但不四捨五入

使用bc一類的函數,按字元串方式運算即可。
/**
*數值非四捨五入保留兩位小數
*@authorZjmainstay
*@websitehttp://www.zjmainstay.cn
*@param$num數值
*@return保留兩位小數
*/
functiongetNum($num,$scale=2){
$numStr=(string)$num.str_repeat('0',$scale);

//匹配精度前的數值
if(preg_match('#^d+.d{0,'.$scale.'}#',$numStr,$match)){
return$match[0];
}else{
return'0';
}
}

echogetNum(10.0253)." ";
echogetNum(0.5)." ";

㈤ PHP如何讀取mysql時間格式

使用函式 date() 實現

<?php echo $showtime=date("Y-m-d H:i:s");?>

顯示的格式: 年-月-日 小時:分鍾:秒

相關時間參數:

a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 幾日,二位數字,若不足二位則前面補零; 如: "01" 至 "31"
D - 星期幾,三個英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鍾; 如: "00" 至 "59"
j - 幾日,二位數字,若不足二位不補零; 如: "1" 至 "31"
l - 星期幾,英文全名; 如: "Friday"
m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,二位數字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數,二個英文字母; 如: "th","nd"
t - 指定月份的天數; 如: "28" 至 "31"
U - 總秒數
w - 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位數字; 如: "1999"
y - 年,二位數字; 如: "99"
z - 一年中的第幾天; 如: "0" 至 "365"

可以自由設定顯示的內容,連接符號或是顯示位置,例如 date("m-d H") 或者date("dmY");?>等php中的日期處理

加入時間:2004-12-18 17:35:22 大小:12 KB 閱讀次數:1405PHP中的日期處理

轉野姿貼:xiaxia 日期:2004-05-26 人氣:9
我正打算用PHP編寫一種幫助處理系統。我發現我必須知道處理完最後一位客戶的問題後已經過去了多長時間?當我過去用ASP時解決這個問題相當簡單,ASP有相應的函數DateDiff可以給出兩個日期間間隔多少月、多少天和多少秒。當我搜尋完PHP手冊後我發現PHP並沒有類似的函數。

本文包含以下內容:
1、 得到目前的日期和時間-我們有多少種方式?
2、 改變日期顯示的方式-日期和時間的顯示形式
3、 轉換現在的日期為Unix的時間戳值
4、 改變日期
a. 增加時間
b. 減去時間
c. 找出兩日期之間的間隔
5、 為PHP添加DateAdd函數
6、 為PHP添加DateDiff函數

**得到目前的日期和時間

在Unix中,時間的表示方式為計算從1970年1月1日零時起所過去的秒數,這稱為UNIX 時間戳(Unix Epoch)。
如果我們有這樣一段的代碼:
?
echo time();
?
將返回值958905820
而此時的時間為2000年5月21日12時43分。
你也許會說這相當不錯。當這對我毫無幫助,或者只有一點幫助。在PHP中,對日期處理的函數都必須用到由time()返回的時間戳值。同時,由於PHP在Unix和Windows系統中均使用同樣的時間頌敬絕戳值,這就允許你不需要修改代碼即可在不同的系統間移植。另外的一個好處是time()函數返回的是一個整數,你可以將其作為整數欄位或文本欄位存入資料庫,而不必使用特別的日期/時間欄位。
你已經基本了解了Unix的時間戳值,現在讓我們來展示它的實際用途。

改變日期顯示的方式-日期和時間的顯示形式

PHP提供兩個辦法來將Unix的時間戳值轉換成為有用的數據。第一個是date()函數。這個函數有兩個參數-第一個字元串用於設定你所希望返回的格式,第二個為Unix的時間戳值。
格式化字元串通過一些簡單的特殊格式化字元來顯示你所希望看到的格式的日期和時間。假設你希望日期以這樣的格式顯示「18h01 Sunday 21 May」。
我們需要對字元串中的每一部分使用一個特殊格式化字元,你可以從PHP手冊中日期和時間函數庫中找到。這樣的特殊格式化字元數量不少,他們所表示的類似於星期幾、月的英文名、用2位或4位數表示的年份,是否是上午(AM)或下午(PM)以及其他。對於這個例子我們需要的特殊字元為:
『H』 -24 小時制的小時
『i』- 分鍾
『l』- 星期幾的稿槐英文全名
『d』- 本月的第幾日
『F』- 月份的英文全名
因此我們的格式化字元串為」Hhi l d F」, PHP代碼為:
?
echo date ("Hhi l d F" ,time());
?
當我們執行這段代碼,我們發現我們所得到的結果為:
180609 Sunday 21 May
這樣的結果看起來有些奇怪。讓我們再查一下PHP手冊,原來』h』所代表的是12 小時制的小時數。這再次證明了一句真理:「計算機只做你所告訴它該做的,而不是你想要它做的」。我們有兩個選擇。第一個是在h前使用轉義字元「」:
echo date ("Hhi l d F", time());
我們得到這樣的結果:
18h12 Sunday 21 May
這正是我們所要的。但如果我們在一個十分復雜的句子中需要包含日期和時間,我們是否需要對每個字元使用轉義字元?
答案當然是不。我們使用另一個函數strftime()。
strftime()有兩個好處。第一個好處我們並不在本文討論范圍內-如果你使用setlocale()函數,你可以通過strftime得到相應語言的月份的名稱。另外的一個好處是你可以將特別的日期和時間的格式化字元包含在你的字元串中。這同時也意味著無論你是否要學習date()函數的所有特殊格式化字元,你都必須學習一整套完全不同的格式化字元。
strftime()工作的方式和date()沒有什麼不同,除了特殊格式化字元的前面必須添加一個百分號%。如果用strftime()函數,前面例子的代碼如下:
?
echo strftime ("%Hh%M %A %d %b" ,time());
?
結果為:
18h24 Sunday 21 May
這也許看起來將簡化繁,但考慮一下如果你所需要的顯示的為"Today is Sunday 21 May 2000. The time is somewhere close to 18h24." 我想使用date()函數無疑令人感到厭煩。
在開始的時候,我提及我們有兩種方式可以從Unix時間戳值中得到有用的數據。我們剛剛了解了date()和strftime()。另一個getdate()。這個函數只需要Unix 的時間戳值作為參數,而函數的返回值為日期和時間的數組。
下面是一個例子:
?
$date_time_array = getdate (time());
echo $date_time_array[ "weekday"];
?
返回的結果為:
Sunday
除了"weekday",該數組的其他部分為:
"seconds" –秒
"minutes" –分
"hours" –小時
「mday" - 本月的第幾天
"wday" -本周的第幾天(數字)
"mon" -月(數字)
"year" –年
"yday" - r本年的第幾天(數字)
"month" -月份全名
我們現在可以得到容易辨認的日期和時間。那麼其他呢?

**轉換現在的日期為Unix的時間戳值

通常你必須處理一些日期或時間格式的數據。打開M$的一個Access資料庫,所有的日期都以YYYY/MM/DD的格式存儲,加入目前的日前即為2000/05/27。Mktime()函數可以將一個時間轉換成Unix的時間戳值。
函數的格式為:int mktime(int hour, int minute, int second, int month, int day, int year, int [is_dst] );
從左往右你必須提供小時、分、秒、月、天和年。最後一個參數用於指定你是否處於夏令時,此參數是可選的,所以我們將忽略它。
代碼如下:
?
echo mktime (0, 0,0 ,5, 27,2000 );
?
由於不知道小時、分和秒同時這些參數必須填寫,我將其設置為0。設置為0意味著時間為午夜。
?
$access_date = "2000/05/27";
//explode()函數用一個字元串作為分界來分解另一個字元串。這個例子$access_date通過字元串」/」來分解
$date_elements = explode("/" ,$access_date);
// 此時
// $date_elements[0] = 2000
// $date_elements[1] = 5
// $date_elements[2] = 27
echo mktime (0, 0,0 ,$date_elements [1], $date_elements[ 2],$date_elements [0]);
?
我們看一個比從Access資料庫單純獲得日期更復雜的情況,我們得到一個以下格式的日期和時間:2000/05/27 02:40:21 PM
?
// 來自Access的字元串
$date_time_string = "2000/05/27 02:40:21 PM";
// 將字元串分解成3部分-日期、時間和上午/下午
$dt_elements = explode(" " ,$date_time_string);
// 分解日期
$date_elements = explode("/" ,$dt_elements[ 0]);
// 分解時間
$time_elements = explode(":" ,$dt_elements[ 1]);
// 如果是下午,我們將時間增加12小時以便得到24小時制的時間
if ($dt_elements [2]== "PM") { $time_elements[ 0]+=12;}
// 輸出結果
echo mktime ($time_elements [0], $time_elements[ 1], $time_elements[ 2], $date_elements[1], $date_elements[2], $date_elements[0]);
?

**修改日期

有時我們需要知道6小時以後是什麼時間,35天前的日期或者從你最後一次玩Quake3後已過去多少秒。我們已經知道如何用mktime()函數從單獨的日期和時間中獲得Unix的時間戳值。如果我們需要的並非目前日期和時間的Unix時間戳值,我們該咋辦?下面是一些練習可以幫助說明我們後面所要做的。
正如前面所見,mktime()使用以下參數:小時、分、秒、月、天和年。想想第二節,getdate()函數可以為我們獲得這些參數。
?
// 將目前的時間戳值放入一數組內
$timestamp = time();
echo $timestamp;
echo "p";
$date_time_array = getdate( $timestamp);
// 用mktime()函數重新產生Unix時間戳值
$timestamp = mktime($date_time_array ["hours"], $date_time_array["minutes" ],$date_time_array[ "seconds"],$date_time_array ["mon"], $date_time_array["mday" ],$date_time_array[ "year"]);
echo $timestamp;
?
看起來有一些令人感到迷惑。我將用一些變數來使上面的程序看起來更容易了解。
?
// 將目前的時間戳值放入一數組內
$timestamp = time();
echo $timestamp;
echo "p";
$date_time_array = getdate( $timestamp);
$hours = $date_time_array[ "hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array[ "seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
// 用mktime()函數重新產生Unix時間戳值
$timestamp = mktime($hours ,$minutes, $seconds,$month ,$day,$year);
echo $timestamp;
?
現在我們將由getdate()所產生的時間戳值放入相對應的名稱變數中,所以代碼變得相對容易閱讀和理解。現在如果我們需要在目前的時間上加上19個小時,我們用$hours+19代替mktime()函數中的$hours。mktime()將自動為我們將時間轉到第二天。
?
// 將目前的時間戳值放入一數組內
$timestamp = time();
echo strftime( "%Hh%M %A %d %b",$timestamp);
echo "p";
$date_time_array = getdate($timestamp);
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
// 用mktime()函數重新產生Unix時間戳值
// 增加19小時
$timestamp = mktime($hours + 19, $minutes,$seconds ,$month, $day,$year);
echo strftime( "%Hh%M %A %d %b",$timestamp);
echo "br~E after adding 19 hours";
?
運行後得到:
14h58 Saturday 03 Jun
09h58 Sunday 04 Jun
~E after adding 19 hours
減少時間也是同樣的-你只需要減少相應變數的值即可。
得到兩個不同時間值的差同樣也是非常簡單。你所需要做的只是將兩個時間值轉換為Unix的時間戳值,然後兩者相減即可。兩者之差即為兩個時間所相隔的秒數。另外一些演算法可以很快地將秒轉為天、小時、分和秒。

**為PHP添加DateAdd函數

正如在文章一開始我所說的-寫本文的原因是因為我在PHP中找不到類似ASP的DateDiff函數。在介紹完PHP是如何處理日期和時間,讓我們將ASP中常用的兩個函數移植到PHP。第一個函數是DateAdd。
根據Vbscript的文檔,DateAdd(interval,number,date)函數的定義為「返回已添加指定時間間隔的日期。」
Inetrval為表示要添加的時間間隔字元串表達式,例如分或天;number為表示要添加的時間間隔的個數的數值表達式;Date表示日期。
Interval(時間間隔字元串表達式)可以是以下任意值:
yyyy year年
q Quarter季度
m Month月
y Day of year一年的數
d Day天
w Weekday一周的天數
ww Week of year周
h Hour小時
n Minute分
s Second秒
w、y和d的作用是完全一樣的,即在目前的日期上加一天,q加3個月,ww加7天。
?
function DateAdd ($interval, $number, $date) {
$date_time_array = getdate($date);
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
switch ($interval) {
case "yyyy": $year +=$number; break;
case "q": $month +=($number*3); break;
case "m": $month +=$number; break;
case "y":
case "d":
case "w": $day+=$number; break;
case "ww": $day+=($number*7); break;
case "h": $hours+=$number; break;
case "n": $minutes+=$number; break;
case "s": $seconds+=$number; break;
}
$timestamp = mktime($hours ,$minutes, $seconds,$month ,$day, $year);
return $timestamp;}
?
我們可以將上面的代碼保存為dateadd.inc文件,然後運行以下代碼:
?
include('dateadd.inc');
$temptime = time();
echo strftime( "%Hh%M %A %d %b",$temptime);
$temptime = DateAdd("n" ,50,$temptime);
echo "p";
echo strftime( "%Hh%M %A %d %b",$temptime);
?
我們將得到:
15h41 Saturday 03 Jun
16h31 Saturday 03 Jun
為PHP添加DateDiff函數
現在DateAdd已經完成,那麼DateDiff呢?
根據文檔,DateDiff(interval,date1,date2)函數的定義為「返回兩個日期之間的時間間隔」。
Intervals參數的用法與DateAdd函數中的相同。出於避免過於復雜的考慮,我們決定忽略Vbscript中DateDiff函數中其它復雜的參數,即其兩個可選的參數變數[firstdayofweek[, firstweekofyear]](它們用於決定星期中第一天是星期天還是星期一和一年中第一周的常數。而且我們只允許intervals有以下五個值:"w"(周)、"d"(天)、"h"(小時)、"n"(分鍾) 和"s"(秒)。

Let's see what we can come up with: 下面的代碼是我們所需要的:
?
Function DateDiff ($interval, $date1,$date2) {
// 得到兩日期之間間隔的秒數
$timedifference = $date2 - $date1;
switch ($interval) {
case "w": $retval = bcdiv($timedifference ,604800); break;
case "d": $retval = bcdiv( $timedifference,86400); break;
case "h": $retval = bcdiv ($timedifference,3600); break;
case "n": $retval = bcdiv( $timedifference,60); break;
case "s": $retval = $timedifference; break;
}
return $retval;}
?
將上面的代碼存為datediff.inc文件,然後運行下面的代碼:
?
include('datediff.inc');
include('dateadd.inc');
$currenttime = time();
echo "Current time: ". strftime("%Hh%M %A %d %b" ,$currenttime)."br";
$newtime = DateAdd ("n",50 ,$currenttime);
echo "Time plus 50 minutes: ". strftime("%Hh%M %A %d %b" ,$newtime)."br";
$temptime = DateDiff ("n",$currenttime ,$newtime);
echo "Interval between two times: ".$temptime;
?
如果一切順利,你可以看到以下結果:
Current time: 16h23 Saturday 03 Jun
Time plus 50 minutes: 17h13 Saturday 03 Jun
Interval between two times: 50
如果你在Unix機器上運行PHP,你必須編譯PHP支持BC高精度函數。你必須從以下地址http://www.php.net/extra/number4.tar.gz下載BC庫,然後將其解壓到PHP4的根目錄下,重新編譯PHP,編譯時要加上--enable-bcmath的選項。(詳細說明見PHP4中README.BCMATH)。PHP4的Windows版本則不需要做任何修補即可直接使用BC高精度函數。
現在你已經得到處理日期和時間的函數,剩下的就是如何將其運用到你的PHP程序中。
php時間顯示例

加入時間:2004-12-18 17:22:53 大小:1 KB 閱讀次數:1564
第一種:簡單(供學慣用)
<?PHP
$today=date("Y-m-d G:i:s");
echo "<center>$today</center>";
?>

第二種:
/*
Format Time
*/
Function formatTime($time,$type="1"){
switch($type){
case 1;#2002-06-0418:58 Tuesday
return date("Y.m.d H:i",$time)."<font color=blue>".date(" l",$time)."</font>";
case 2;#June 2002
return date("M Y",$time);
case 3;#2002-06-04 18:58
return date("Y.m.d H:i",$time);
case 4;#06-04 AM
return date("m-d A",$time);
case 5;#06-04 18:58
return date("m.d H:i",$time);
}
}不知道對於兩個以字元串格式存儲的日期得比較會有什麼結果,例如 『2007-07-12′ 『2007-06-27′ ,這種日期最好用什麼方法來比較呢?就大小而論

leehao July 17th, 2006 1:33 am

/*日期比較*/
$Date_1="2007-07-12";
$Date_2="2007-06-27";

/*
首先用explode這個函數來拆分字元串
explode("這引號裡面是條件來的哦,改成:就會用:來拆分字元串的,可以應用到很多方面去的",後面要拆分的字元串)
*/

$Date_explode_1=explode("-",$Date_1);
$Date_explode_2=explode("-",$Date_2);

/*
拆分後的字元串,我們通過使用mktime函數來計算時間,
必須說明一下的是mktime計算出來的時間是用秒來算的哦,
後面就簡單啦,具體可以看手冊,裡面詳細得很
*/

$Day_1=mktime(0,0,0,$Date_explode_1[1],$Date_explode_1[2],$Date_explode_1[0]);
$Day_2=mktime(0,0,0,$Date_explode_2[1],$Date_explode_2[2],$Date_explode_2[0]);

$Days=round(($Day_1-$Day_2)/3600/24);

echo "您要的結果是 $Days 天哦";
?>
請問如何得到90天以後的日期

加入時間:2004-12-18 18:09:53 大小:1 KB 閱讀次數:158
//獲取今天的時間信息
$Y=date(Y);
$m=date(m);
$d=date(d);
//$m為月,$d為天,$Y為年,"+"號表示之後,用"-"號可以得到多少天前的日期,"Y年m月d日",只是顯示的格式,你可以改成"Y-m-d",
$out_date1=date( "Y年m月d日", mktime(0,0,0,$m,$d+7,$Y) );//一周後
$out_date2=date( "Y年m月d日", mktime(0,0,0,$m,$d+14,$Y) );//二周後
$out_date3=date( "Y年m月d日", mktime(0,0,0,$m+1,$d,$Y) );//一個月後
$out_date4=date( "Y年m月d日", mktime(0,0,0,$m+2,$d,$Y) );//二個月後
$out_date5=date( "Y年m月d日", mktime(0,0,0,$m+3,$d,$Y) );//三個月後
$out_date6=date( "Y年m月d日", mktime(0,0,0,$m+6,$d,$Y) );//六個月後
$out_date7=date( "Y年m月d日", mktime(0,0,0,$m,$d,$Y+1) );//一年後

echo date("Ymd", time() + 90*86400);

echo date("Y-m-d",strtotime("2004-10-26 +90day"));

date("Y-m-d",strtotime("+90 day"));

㈥ php中3個小數的計算,如134.7-52.5 - 82.2,為什麼結果不是0而是一個奇怪的科學計數法

樓上的回答很詳細了,而且,這不僅僅是php的問題,你在js里console.log(134.7-52.5 - 82.2)

也得不到0的,

㈦ PHP-bc函數及其應用詳解

bcadd —— 兩個任意精度數字的加法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcadd ( string $num1 , string $num2 , ?int $scale = null ): string

註:對 num1 和 num2 求和。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以字元串返回兩個操作數求和之後的結果。

範例:

bcsub —— 兩個任意精度數字的減法 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsub ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 減去 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bcmul —— 兩個任意精度數字乘法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmul ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 乘以 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bcp —— 兩個任意精度的數字除法計算 (PHP 4, PHP 5, PHP 7, PHP 8)

bcp ( string $num1 , string $num2 , ?int $scale = null ): string

註: num1 除以 num2 。

參數:

num1 — 左操作數,字元串類型。

num2 — 右操作數,字元串類型。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。 現在 scale 可以為 null。

返回值: 以 string 類型返回減法之後的結果。

範例:

bccomp —— 比較兩個任意精度的數字 (PHP 4, PHP 5, PHP 7, PHP 8)

bccomp ( string $num1 , string $num2 , ?int $scale = null ): int

註: 比較 num1 和 num2 , 並且返回整型數字的結果。

參數:

num1 — 左邊的運算數,是一個字元串。

num2 — 右邊的運算數,是一個字元串。

scale — 可選的 scale 參數被用作設置指示數字, 在使用來作比較的小數點部分。

返回值: 兩個數相等時返回 0; num1 比 num2 小時返回 -1; 其他則返回 1。現在 scale 可以為 null。

範例:

bcmod —— 任意精度數字取模 (PHP 4, PHP 5, PHP 7, PHP 8)

bcmod ( string $num1 , string $num2 , ?int $scale = null ): string

註: 對 num1 使用 num2 取模。 除非 num2 是零,否則結果必定和 num1 有相同的符號。

參數:

num1 — string 類型的被除數。

num2 — string 類型的除數。

scale — 現在 scale 可以為 null。

返回值: 返回字元串類型取模後的結果,如果 num2 為 0 則返回 null。

範例:

bcpow—— 任意精度數字的乘方 (PHP 4, PHP 5, PHP 7, PHP 8)

bcpow ( string $num , string $exponent , ?int $scale = null ): string

註: num 的 exponent 次方運算。

參數:

num — string 類型的底數。

exponent — string 類型的指數。 如果指數不是整數,將被截斷。 指數的有效范圍取決於平台,但起碼支持 -2147483648 到 2147483647 的范圍。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。

返回值: 返回字元串類型的結果。

範例:

bcpowmod —— 先取次方然後 取模 。 (PHP 5, PHP 7, PHP 8)

bcpowmod ( string $num , string $exponent , string $molus , ?int $scale = null ): string

註: 先取次方然後取模。

參數:

base — 左操作數。它是一個字元串類型的參數。

exponent — string 類型的指數。 指數的正確操作數。

molus — string 類型的 參 數。 接受表示模數的操作數。

scale — 一個整數類型參數。它說明 ( base exponent %mod ) 結果中小數點後的位數。其默認值為 0。

返回值: 該函數將結果作為字元串返回。或者,如果模數為 0 或指數為負,則返回 False。

範例:

bcscale —— 設置/獲取所有 bc math 函數的默認小數點保留位數 (PHP 4, PHP 5, PHP 7, PHP 8)

bcscale ( int $scale ): int

設置所有 bc math 函數在未設定情況下的小數點保留位數。

bcscale ( null $scale = null ): int

註: 獲取當前的小數點保留位數。

參數:

scale — 小數點保留位數。

返回值: 設置的時候,返回之前的小數點保留位數。否則就是返回當前的位數。

範例:

bcsqrt —— 任意精度數字的二次方根 (PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrt ( string $num , ?int $scale = null ): string

註: 返回 num 的二次方根。

參數:

num — string 類型的操作數 。

scale — 此可選參數用於設置結果中小數點後的小數位數。也可通過使用 bcscale() 來設置全局默認的小數位數,用於所有函數。如果未設置,則默認為 0。

返回值: 以 string 類型返回二次方根的結果,如果 num 是負數則返回 null。

範例:

閱讀全文

與phpbccmp相關的資料

熱點內容
cocos2dluapdf 瀏覽:491
假的加密鎖靠譜嗎 瀏覽:176
經營聖手伺服器怎麼調 瀏覽:749
arduino手機編程 瀏覽:481
西醫pdf下載 瀏覽:29
後浪電影學院pdf 瀏覽:813
程序員怎麼做到不被人嫉妒 瀏覽:669
cmd新建文件夾md命令 瀏覽:570
php數組中的數值排序 瀏覽:832
安卓手機怎麼避免小孩內購 瀏覽:171
聯想伺服器出現黃色嘆號怎麼辦 瀏覽:991
約翰編譯器製作教程 瀏覽:130
大地pdf 瀏覽:109
pdfplus 瀏覽:577
匯編O命令 瀏覽:970
plt轉pdf 瀏覽:365
魔獸60宏命令大全 瀏覽:479
php志願者網站源碼 瀏覽:875
貿易pdf 瀏覽:497
dbug命令 瀏覽:352