第三章
數組
新東西是關聯陣列.
array()是一個語言結構,不是一個函數
array range ( mixed low, mixed high [, number step]
) 建立一個升序一定步長的數組
初始化關聯陣列
array('索引'=>值,'索引2'=>值2....);
array each ( array &array
)
返回數組中當前的鍵/值對並將數組指標向前移動一步
void list ( mixed varname, mixed ...
) 語言結構
把數組中的值賦給一些變數
mixed reset ( array &array
)
將數組的內部指標指向第一個單元
多維陣列什麼的...
排序
bool sort ( array &array [, int sort_flags]
)
關聯陣列 使用asort()按元素值ksort()按關鍵字(索引)排序
反向降序排序rsort(),arsort(),krsort()
多維陣列需要自己寫一個比較函數...使用bool usort ( array
&array, callback cmp_function
)使用使用者自訂的比較函數對數組中的值進行排序....複雜的比較也可以自己寫函數來比較,使用uasort(),uksort()
對數組重新排序
bool shuffle ( array &array
) 打亂一個數組的順序
這裡實現從檔案中讀取資料,並使用表格格式顯示出來....使用了file(),explode()等等
int count ( mixed var [, int mode]
)
計算數組中的單元數目或對象中的屬性個數
array explode ( string separator, string string [, int
limit] ) 使用一個字串分割另一個字串
其他數組操作函數
array each ( array
&array )
返回數組中當前的鍵/值對並將數組指標向前移動一步
mixed current ( array &array )
返回數組中的當前單元
mixed reset ( array &array
) 將數組的內部指標指向第一個單元
mixed end ( array &array
)
將數組的內部指標指向最後一個單元
mixed next ( array &array
)
將數組中的內部指標向前移動一位
pos
current() 的別名
mixed prev ( array &array
)
將數組的內部指標倒回一位
bool array_walk ( array &array, callback
funcname [, mixed userdata] )
對數組中的每個成員應用使用者函數,使用者函數可以有一,二,三個參數
統計數組中的元素
int count ( mixed var [, int mode] )
計算數組中的單元數目或對象中的屬性個數
sizeof()
count() 的別名
array array_count_values ( array input
) 統計數組中所有的值出現的次數
將數群組轉換為標量
int extract ( array var_array [, int extract_type [,
string prefix]] ) 從數組中將變數匯入到當前的符號表...........詳見手冊
第一個是要處理的數組
第二個是處理衝突的方式
第三個是某些處理衝突的方式需要加上的首碼....
第四章
字串操作與Regex
第一個例子是發送一個郵件
bool mail ( string to, string subject, string message [,
string additional_headers [, string additional_parameters]] )
收件地址,主題,郵件內容,附加資訊,比如From,Cc,Bcc
擦擦擦擦.好吧.都說不用這個鳥東西,因為本地沒有郵件伺服器....
字串操作
string trim ( string str [, string charlist] )去空格
ltrim()只去左邊的空格rtrim()只去右邊的空格
1.使HTML格式化
nl2br() 使用<br
/>替換掉字串中的換行
2.一些顯示函數 int print ( string arg
)
列印.echo()差不多
int printf ( string format [, mixed args [, mixed ...]]
)
一定格式列印
第一個參數中可以包含轉換說明
%'
長度
-(有這個是靠左對齊,沒有是靠右對齊)
為變數留下的長度 .
小數點後多少位 最後是類型碼
$anum =
12.3111;
printf("阿薩德 %'2-7.1f阿薩德",$anum);
顯示
阿薩德 12.3222阿薩德
string sprintf ( string format [, mixed args [, mixed
...]] )
返回格式化的字串
3.改變字母大小寫
strtoupper()全部變大寫,strtolower()全部變小寫
ucfirst()首字母(如果是字母)大寫,ucword()每個單詞第一個字母大寫
4.格式化字串以便於資料庫儲存
string addslashes ( string str )
使用反斜線轉義一些字元,一些字元加上\\\\
string stripslashes ( string str )
將轉義的字元轉換回來
魔術引號 .... get_image_quotes_gpc()
查看是否開啟了.....gpc GET POST
cookie的首字母
5.字串串連分割函數
array explode ( string separator, string string [, int
limit] ) 字串 給定分割字元
string implode ( string glue, array pieces )
join()別名函數 使用某字元拼接數組中的字串
string strtok ( string str, string token )
類似expload(),截取字串,但是只取出一個片段
$testtoke ="sad,sa,dfsd,fwe,we,fgwrg";
$toke = strtok($testtoke,",");
echo $toke."<br />";
while($toke!=""){
$toke = strtok(",");
echo $toke."<br
/>";
}
顯示:
sad
sa
dfsd
fwe
we
fgwrg
開始被搞崩潰了....
string substr ( string string, int start [, int length]
) 截取子字串,開始為負數,從結尾開始,長度為負數,倒數多少個停止
6.字串比較
int strcmp ( string str1, string str2
)
比較兩字串
strcasecmp()不區分大小 strnatcmp()不區分大小,按自然順序比較12>2
strlen()
字串長度
在字串中尋找字串
string strstr ( string haystack, string needle
)第一次出現目標字串之後的字串
stristr()不區分大小寫,strrchr()是最後一次出現目標之後的子字串
------------------------------
,才發現這書是兩面的.--------------------------------
strpos()返回第一次出現子串的位置 strrpos()最後一次出現子串的位置
mixed str_replace ( mixed search, mixed replace, mixed
subject [, int &count] )
使用第二個參數替換掉所有第三個參數中的第一個參數,第四個參數是替換的次數...
$replace = array("生物","我們");
echo str_replace($replace,"豬頭","我們是強大的生物,最強大的生物.",$count);
echo "<br
/>替換了".$count."個<br
/>";
mixed substr_replace ( mixed string, string replacement,
int start [, int length] )
在給定位置中尋找和替換字串中的子字串
length不指定,從開始到尾全部替換,為0直接插入,為負數說明最後留下多少個(絕對值)字元不替換
echo substr_replace("abcdefg.","xxx",3);
echo substr_replace("abcdefg.","xxx",3,0);
echo substr_replace("abcdefg.","xxx",3,-2);
echo substr_replace("abcdefg.","xxx",3,2);
abcxxx
abcxxxdefg.
abcxxxg.
abcxxxfg.
正則POSIX風格
包含在[]中的都是字元集
{}出現多少次 ^正則開始
$正則結束
|或 特殊字元 轉義\
bool ereg ( string pattern, string string [, array regs]
) Regex匹配
注: 使用 Perl 相容Regex文法的
preg_match() 函數通常是比 ereg() 更快的替代方案。
bool eregi ( string pattern, string string [, array regs]
) 忽略大小寫
使用正則替換子字串ereg_replace(),eregi_replace()
正則分割字串 split()
第五章
代碼重寫與函數編寫
require()和include(),將一個檔案載入php指令碼中,區別在於前者失敗給出致命錯誤,後者只是一個警告.require_once()和include_once(),只載入一次.