BIF
內建函數(Built-in Functions)可讓我們直接使用。擇要介紹:- Math
- Array
- String
- Date/Time
Math
詳細列表可見這裡。
php3_1_math.php
- pi()與M_PI都可得到π,exp(n)可得e的n次方=>exp(1)=E。
- getrandmax()會得到可能出現的最大亂數,跟電腦位元有關。
Array
Array的宣告方式可以使用array()函數,或是直接手動指派,index由0開始,index也可以不是指派的數字(類似python的dictionary)。
php3_2_array.php
- 使用=>符號來連結index與value。
- $a5是Multidimensional,使用兩個變數描述。
- var_dump()與print_r()皆可印出array內容,var_dump()資料多一些。
foreach
php3_2_foreach.php
- 使用as關鍵字。
除了使用foreach,尚可使用以下方式traverse array。
php3_2_traversal.php
- count()與sizeof()都是傳回array長度。
- shuffle()是洗牌。
- reset()是將pointer指向array的最初位置,這樣才能從頭開始traverse。若是end()則將pointer指向最後一個位置。
- current()傳回目前指標指向的物件內容,也可使用pos()。
- next()指將指標往後移一位,若是prev()則往前移一位,。
- list()的意思是將array內的值對應指派給list內的變數,e.g. list($x, $y, $z)=array(1,2,3)。
- each()的意思是逐一傳回array內的key跟value。
- key()是傳回目前指標所指物件之key。
operators
可使用於兩個array間的operators:
- +
- ==
- ===
- !=
- <>
- !==
php3_2_arrayOperators.php
- +是聯集(union)而不是相加,以前一個為主,如果兩個array使用相同index,則先取前一個array的內容,若後一個array長度較長,才再加上後面的內容。
Sorting
php3_2_arraySorting.php
- sort會針對值(value)排序,排序後重新指派index(從0開始)。
- asort會針對值(value)排序,排序後index保持不變。
- ksort會針對key(index)排序。
- rsort、arsort、krsort排序後降冪排列(由大到小),sort、asort、ksort則為升冪排列(由小到大)。
php3_2_arraySortingFunction.php
- usort, uasort, uksort三者是根據自定義函數進行排序,可以用在物件的排序。
Array_walk
將自訂函數逐一應用到Array內的元素。
php3_2_arrayWalk.php
- range(a,b,c)表示產生介於a<=x<=b每c間隔的x(也可以是字母)。
- &的用法見Function。
更多關於array的函數請見官網。
String
php3_3_string.php
- 使用explode()會根據某子字串分解成array,使用str_split則分解每一個character成為array。
- implode是將array元素粘結,與join()同。
Date/Time
使用date(format)函數來得到目前日期時間,參數為日期格式。使用的符號如下:
- d,j: day of the month(j沒有0開頭)
- D,l,N: day of the week(D顯示縮寫,N為數字<<1~7>>)
- m,n: month in numbers(n沒有0開頭)
- M: month in text
- y: year in two digits
- Y: year in four digits
- h,g: hour in 12-hour format(g沒有0開頭)
- H,G: hour in 24-hour format(G沒有0開頭)
- i: minutes
- s: seconds
- u,v: microseconds&milliseconds
- a: am or pm
- A: AM or PM
- e,T: time zone(T為時區縮寫)
- O,P: difference to Greenwich time(GMT) in hours(P有冒號)
- F: 全名非縮寫
php3_4_date.php
- 使用date_default_timezone_set()設定時區,參數可參考時區列表。
timestamp
timestamp指自January 1 1970 00:00:00 GMT至特定時間的秒數,可使用time()取得目前之timestamp。
php3_4_time.php
- date(format, timestamp)函數可將timestamp的時間轉換成日期時間,沒有timestamp則為目前日期時間。
- 使用mktime(hour, minute, second, month, day, year)函數來反推timestamp。