php時間操作函數總結,基于php常用函數總結(數組,字符串,時間,文件操作)

數組:【重點1】implode(分隔,arr) 把數組值數據按指定字符連接起來

例如:

$arr=array('1','2','3','4');

$str=implode('-',$arr);

explode([分隔],arr)按指定規則對一個字符串進行分割,返回值為數組 別名join

array_merge()合并一個或多個數組

array_combine(array keys, array values) 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值

例如:

$a = array('green','red','yellow');

$b = array('avocado','apple','banana');

$c = array_combine($a, $b);

print_r($c);

/* Outputs:

Array

(

[green] => avocado

[red] => apple

[yellow] => banana

)

*/

array_push(arr,str) 將一個或多個單元壓入數組的末尾(入棧)

array_unique(arr)移除數組中重復的值

array_search() 在數組中搜索給定的值,如果成功則返回相應的鍵名

array_values()返回數組中所有的值

array_keys() 返回數組中所有的鍵名

count(arr) 計算數組中的單元數目或對象中的屬性個數sizeof()

is_array(arr) 檢測變量是否是數組

sort(arr) 對數組排序

array_flip(arr) 交換數組中的鍵和值

注意 trans 中的值需要能夠作為合法的鍵名,例如需要是 integer 或者 string。如果值的類型不對將發出一個警告,并且有問題的鍵/值對將不會反轉。

key(arr)返回數組中當前元素的鍵名

current(arr) 返回當前指針所指向的值

next 返回下一個指針所指向的值

例如

復制代碼 代碼如下:

$array = array (

'fruit1' => 'apple',

'fruit2' => 'orange',

'fruit3' => 'grape',

'fruit4' => 'apple',

'fruit5' => 'apple'

);

// this cycle echoes all associative array

// key where value equals "apple"

while ($fruit_name = current($array)) {

if ($fruit_name == 'apple') {

echo key($array).'

';

}

next($array);

}

reset(arr)數組的內部指針指向第一個單元

array_chunk( array input, int size [, bool preserve_keys])) 將一個數組分割成多個

將一個數組分割成多個數組,其中每個數組的單元數目由 size 決定。最后一個數組的單元數目可能會少幾個。得到的數組是一個多維數組中的單元,其索引從零開始。

將可選參數 preserve_keys 設為 TRUE,可以使 PHP 保留輸入數組中原來的鍵名。如果你指定了 FALSE,那每個結果數組將用從零開始的新數字索引。默認值是 FALSE。

字符串【重點2】trim(str) 消除字符串兩邊的空格

rtrim()

addslashes在指定預定義字符前加\

strlen(str) 取字符串長度

substr(str,start,length) 截取指定字符串中指定長度的字符

strstr(str,search)函數用于獲取一個指定字符串在另一個字符串中首次出現的位置到后者末尾的子字符串。與 strchr相同

strpos(str,search) 查找字符串中某字符第一次出現的位置

str_replace(search,replace,str) 字符串替換

ucfirst(str) 將字符串第一個字符大寫

strtolower 變小寫

ucwords(str) 將字符串每個字的第一個字母大寫

strcmp(str1,str2)函數用來對兩個字符串進行比較

substr_count()函數檢索子串出現的次數

正則相關字符串函數:

preg_match(pattern,subject,matches) 在subject字符串中搜索與 pattern 給出的正則表達式相匹配的內容,匹配后的結果存放在matches里邊,matches[0]全部匹配內容,matches[1]第一個模式單元matches[1]第二模式單元,以此類推.

preg_match_all(pattern,subject,matches)全局匹配,其余的preg_match函數相似

preg_replace(pattern,replacement,str) 執行正則表達式的搜索和替換,三種[string,string][array,string][array,array]

preg_split(pattern,str) 用正則表達式分割字符串

preg_grep(pattern,array)用正則表達式匹配數組的值,返回一個新的數組信息

時間【重點3】PHP的日期時間函數date()

1,年-月-日echo date('Y-m-j');

2007-02-6

echo date('y-n-j');

07-2-6

大寫Y表示年四位數字,而小寫y表示年的兩位數字;

小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。

echo date('Y-M-j');

2007-Feb-6

echo date('Y-m-d');

2007-02-06

大寫M表示月份的3個縮寫字符,而小寫m則表示月份的數字(帶前導0);

沒有大寫的J,只有小寫j表示月份的日期,無前導o;若需要月份帶前導則使用小寫d。

echo date('Y-M-j');

2007-Feb-6

echo date('Y-F-jS');

2007-February-6th

大寫M表示月份的3個縮寫字符,而大寫F表示月份的英文全寫。(沒有小寫f)

大寫S表示日期的后綴,比如“st”、“nd”、“rd”和“th”,具體看日期數字為何。

小結:表示年可以用大寫的Y和小寫y;

表示月可以用大寫F、大寫M、小寫m和小寫n(分別表示字符和數字的兩種方式);

表示日可以用小寫d和小寫j,大寫S表示日期的后綴。

2,時:分:秒默認情況下,PHP解釋顯示的時間為“格林威治標準時間”,與我們本地的時間相差8個小時。

echo date('g:i:s a');

5:56:57 am

echo date('h:i:s A');

05:56:57 AM

小寫g表示12小時制,無前導0,而小寫h則表示有前導0的12小時制。

當使用12小時制時需要表明上下午,小寫a表示小寫的“am”和“pm”,大寫A表示大寫的“AM”和“PM”。

echo date('G:i:s');

14:02:26

大寫G表示24小時制的小時數,但是不帶前導的;使用大寫的H表示帶前導的24小時制小時數

小結:

字母g表示小時不帶前導,字母h表示小時帶前導;

小寫g、h表示12小時制,大寫G、H表示24小時制。

3,閏年、星期、天echo date('L');

今年是否閏年:0

echo date('l');

今天是:Tuesday

echo date('D');

今天是:Tue

大寫L表示判斷今年是否閏年,布爾值,為真返回1,否則為0;

小寫l表示當天是星期幾的英文全寫(Tuesday);

而使用大寫D表示星期幾的3個字符縮寫(Tue)。

echo date('w');

今天星期:2

echo date('W');

本周是全年中的第 06 周

小寫w表示星期幾,數字形式表示

大寫W表示一年中的星期數

echo date('t');

本月是 28 天

echo date('z');

今天是今年的第 36 天

小寫t表示當前月份又多少天

小寫z表示今天是本年中第幾天

4,其他echo date('T');

UTC

大寫T表示服務器的時間區域設置

echo date('I');

0

大寫I表示判斷當前是否為夏令時,為真返回1,否則為0

echo date('U');

1170769424

大寫U表示從1970年1月1日到現在的總秒數,就是Unix時間紀元的UNIX時間戳。

echo date('c');

2007-02-06T14:24:43+00:00

小寫c表示ISO8601日期,日期格式為YYYY-MM-DD,用字母T來間隔日期和時間,時間格式為HH:MM:SS,時區使用格林威治標準時間(GMT)的偏差來表示。

echo date('r');

Tue, 06 Feb 2007 14:25:52 +0000

小寫r表示RFC822日期。

小小的date()函數就顯示出了PHP的強大功能和迷人魅力,再比較下ASP,呵呵。

checkdate($month,$date,$year)

如果應用的值構成一個有效日期,則該函數返回為真。例如,對于錯誤日期2005年2月31日,此函數返回為假。

在日期用于計算或保存在數據庫中之前,可用此函數檢查日期并使日期生效。

復制代碼 代碼如下:

getdate($ts)在沒有自變量的情況下,該函數以結合數組的方式返回當前日期與時間。數組中的每個元素代表日期/時間值中的一個特定組成部分。可向函數提交可選的時間標簽自變量,以獲得與時間標簽對應的日期/時間值。

應用此函數來獲得一系列離散的,容易分離的日期/時間值。

復制代碼 代碼如下:

mktime($hour, $minute, $second, $month, $day, $year)此函數的作用與getdate()的作用相反:它由一系列的日期與時間值生成一個UNIX時間標簽(GMT時間1970年1月1日到現在消逝的秒數)。不用自變量時,它生成當前時間的UNIX時間標簽。

用此函數獲得即時時間的UNIX時間標簽。這種時間標簽通常用于許多數據庫與程序語言中。

復制代碼 代碼如下:

date($format, $ts)此函數將UNIX時間標簽格式化成一個可人為閱讀的日期字符串。它是PHP日期/時間API中功能最為強大的函數,可用在一系列的修正值中,將整數時間標簽轉變為所需的字符串格式。

為顯示格式化時間或日期時,應用此函數。

復制代碼 代碼如下:

strtotime($str)此函數將可人為閱讀的英文日期/時間字符串轉換成UNIX時間標簽。

應用此函數將非標準化的日期/時間字符串轉換成標準、兼容的UNIX時間標簽。

復制代碼 代碼如下:

strftime($format,$ts)如前面的setlocale()函數定義的那樣,此函數將UNIX時間標簽格式化成適用于當前環境的日期字符串。

應用此函數建立與當前環境兼容的日期字符串。

復制代碼 代碼如下:

microtime()如前面的setlocale()函數定義的那樣,此函數將UNIX時間標簽格式化成適用于當前環境的日期字符串。

應用此函數建立與當前環境兼容的日期字符串。

復制代碼 代碼如下:

gmmktime($hour, $minute, $second, $month, $day, $year)此函數由一系列用GMT時間表示的日期與時間值生成一個UNIX時間標簽。不用自變量時,它生成一個當前GMT即時時間的UNIX時間標簽。

用此函數來獲得GMT即時時間的UNIX時間標簽。

復制代碼 代碼如下:

gmdate($format, $ts)此函數將UNIX時間標簽格式化成可人為閱讀的日期字符串。此日期字符串以GMT(非當地時間)表示。

用GMT表示時間標簽時應用此函數。

復制代碼 代碼如下:

date_default_timezone_set($tz)、date_default_timezone_get()

此函數此后所有的日期/時間函數調用設定并恢復默認的時區。

注:此函數僅在PHP 5.1+中有效。此函數是一個方便的捷徑,可為以后的時間操作設定時區。

復制代碼 代碼如下:

復制代碼 代碼如下:

文件操作【重點4】file_exists(filename) 文件或目錄是否存在

filesize(filename) 取得文件大小

pathinfo(filename) 返回目錄名、基本名和擴展名的關聯數組

$path_parts = pathinfo("/www/htdocs/index.html");

echo $path_parts["dirname"] . "\n";

echo $path_parts["basename"] . "\n";

echo $path_parts["extension"] . "\n";

/www/htdocsindex.htmlhtml

mkdir(dirname) 創建目錄

rmdir(dirname) 刪除空目錄

fopen(filename,模式) 打開文件

fclose(fp) 關閉文件

fwrite(fp,str,length) 寫入文件

file_put_contents(filename,content) 把內容存成文件

file_get_contents(filename) 從文件讀出內容

fread(fp,length) 讀取文件

fgets() 從文件指針中讀取一行

fgetc() 從文件指針中讀取字符

file()把整個文件讀入一個數組中,數組中的每個單元都是文件中相應的一行

readfile() 讀入一個文件并寫入到輸出緩沖

copy(filename1,filename2) 復制文件

unlink(filename) 刪除文件

rename(filename1,filename2) 重命名文件或目錄

$text = iconv('gbk','utf-8','高志偉');///將gbk編碼轉換為utf-8

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392237.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

kaggle比賽數據_表格數據二進制分類:來自5個Kaggle比賽的所有技巧和竅門

kaggle比賽數據This article was originally written by Shahul ES and posted on the Neptune blog.本文最初由 Shahul ES 撰寫, 并發布在 Neptune博客上。 In this article, I will discuss some great tips and tricks to improve the performance of your stru…

leetcode 1579. 保證圖可完全遍歷(并查集)

Alice 和 Bob 共有一個無向圖,其中包含 n 個節點和 3 種類型的邊: 類型 1:只能由 Alice 遍歷。 類型 2:只能由 Bob 遍歷。 類型 3:Alice 和 Bob 都可以遍歷。 給你一個數組 edges ,其中 edges[i] [typei,…

別把“運氣”當“實力”

成功是兩分靠努力,八分靠天命–何英圻何英圻先生,大家口中的Steven,是臺灣網路創業圈的傳奇人物。他先后創辦力傳(Ubid)與興奇(Monday)兩家公司,最后都以高價出售給北美網路巨人—Ubid在2002年以美金950萬賣給eBay,而M…

品牌推廣前期要進行哪些針對性的步驟?

企業在品牌推廣前需要制訂一系列有針對性和連續性的步驟,這些步驟定睛于長期策略,而且要適應目標客戶的使用方式和習慣。在企業內部導入品牌VI是前提,外部的宣傳則是強調品牌所宣揚的內涵和精神實質,總體來說,這只是一…

php的set 容器,關于STL中set容器的一些總結

1.關于setC STL 之所以得到廣泛的贊譽,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封裝了許多復雜的數據結構算法和大量常用數據結構操作。vector封裝數組,list封裝了鏈表,map和set…

強化學習應用于組合優化問題_如何將強化學習應用于現實生活中的計劃問題

強化學習應用于組合優化問題by Sterling Osborne, PhD Researcher作者:斯特林奧斯本(Sterling Osborne),博士研究員 如何將強化學習應用于現實生活中的計劃問題 (How to apply Reinforcement Learning to real life planning problems) Recently, I hav…

導入導出報錯

導入導出報錯:另:右鍵--共享:停止共享;可能無效。此時,可以通過修改文件夾的權限,來達到停止共享的目的;轉載于:https://www.cnblogs.com/chenjx/p/7107336.html

leetcode 724. 尋找數組的中心索引

給定一個整數類型的數組 nums,請編寫一個能夠返回數組 “中心索引” 的方法。 我們是這樣定義數組 中心索引 的:數組中心索引的左側所有元素相加的和等于右側所有元素相加的和。 如果數組不存在中心索引,那么我們應該返回 -1。如果數組有多…

基于mosquitto的MQTT服務器---SSL/TLS 單向認證+雙向認證

配置單/雙向認證 1.生成證書 使用如下shell 來生成證書: # * Redistributions in binary form must reproduce the above copyright# notice, this list of conditions and the following disclaimer in the# documentation and/or other materials provided wi…

mysql復制的工作原理及主從復制的實現

mysql的復制功能主要有3個步驟主服務器將改變記錄到二進制日志中,(這些記錄叫做二進制日志事件)從服務器將主服務器的二進制日志事件拷貝到它的中繼日志中從服務器重做中繼日志中的事件。該過程的第一部分就是主服務器記錄二進制日志&#xf…

33條C#、.Net經典面試題目及答案

1, 請你說說.NET中類和結構的區別? 答:結構和類具有大體的語法,但是結構受到的限制比類要多。結構不能申明有默認的構造函數,為結構的副本是又編譯器創建和銷毀的,所以不需要默認的構造函數和析構函數。結構是值類型&…

pb 放棄數據窗口所做修改_為什么我放棄在線數據課程進行基于項目的學習

pb 放棄數據窗口所做修改by Josh Temple通過喬什坦普爾 為什么我放棄在線數據課程進行基于項目的學習 (Why I abandoned online data courses for project-based learning) 如何通過處理有趣的項目來發展基本數據技能 (How to develop essential data skills by tackling inte…

數字濾波器的matlab 與fpga實現,1 數字濾波器的MATLAB與FPGA實現——杜勇(配套光盤) 程序源碼 - 下載 - 搜珍網...

壓縮包 : f3d09239c2bf5ce6f06578c866ff06.rar 列表Chapter_3/E3_1/incremental_db/compiled_partitions/SymbExam.db_infoChapter_3/E3_1/incremental_db/READMEChapter_3/E3_1/simulation/modelsim/modelsim.iniChapter_3/E3_1/simulation/modelsim/msim_transcriptChapter_3…

Office 365 系列之九:配置和體驗 Exchange 和 Lync

在之前的篇章中,我們已經安裝好 Office 365 Pro Plus 和通過 O365 訂閱激活了。接下來我們來看看具體怎么配置和使用 Exchange 和 Skype, 這部分內容對于學習過 Exchange Server 2016 和 Skype For Business 2015 的同學來說就很簡單了。通過 OWA 訪問 Exchange 對于…

leetcode 1631. 最小體力消耗路徑(并查集)

你準備參加一場遠足活動。給你一個二維 rows x columns 的地圖 heights ,其中 heights[row][col] 表示格子 (row, col) 的高度。一開始你在最左上角的格子 (0, 0) ,且你希望去最右下角的格子 (rows-1, columns-1) (注意下標從 0 開始編號&…

netflix_Netflix的Polynote

netflixNetflix open source Polynote is a new notebook environment and was born out of the necessity to accelerate data science experimentation at Netflix.Netflix開源Polynote是一種新的筆記本環境,其誕生是出于加速Netflix數據科學實驗的需要。 Over t…

Django-內置用戶系統

Django自帶的用戶認證 我們在開發一個網站的時候,無可避免的需要設計實現網站的用戶系統。此時我們需要實現包括 1.用戶注冊 2.用戶登錄 3.用戶認證 4.注銷 5.修改密碼 Django作為一個完美主義者的終極框架,當然也會想到用戶的這些痛點。它內置了強大的用…

React 與 可視化

一般會想到 canvas 和 svg ; svg更適合畫圖, 但由于cavans在移動端的良好兼容性, 使用的更廣; 什么是svg, scalable vector graphics 全稱 可縮放矢量圖形, 是一種來描述二維矢量圖形的xml語言 canvas 能做的 svg基本都可以做, 字體圖標, icon, logo 也能作 在ie上也是從ie9開…

css 跳動的心_如何用純CSS為您的情人打造一顆跳動的心

css 跳動的心Each year on February 14th, many people exchange cards, candies, gifts or flowers with their special “valentine”. The day of romance we call Valentine’s Day is named for a Christian martyr and dates back to the 5th century, but has origins i…

oracle怎么獲取行,在oracle中如何實現SELECT TOP N取得前幾行記錄

在sql server中可以通過SELECT TOP N來取得想要結果的前幾行的信息。但是在oracle中必須借助偽列rownum來完成一個查詢語句在取得結果集后,偽列rownum就會從1開始,從上往下依次遞增。rownum是對結果集的編序排列。例如下表:SQL> select id…