1.字串翻轉函式:$string = strrev(string);//返回乙個翻轉順序的拷貝
2.字串複製函式:$repeated = str_repeat(string,count);//返回乙個由引數string重複count次組成的新字串;
3.字串填充函式:
$padded = str_pad(original,length[,with[,pad_type]]);
第乙個引數:要填充的字串;
第二個引數:要填充的長度;
第三個引數:要填充的字串,預設填充空格
第四個引數:填充方式:str_pad_right(預設在右邊填充)、str_pad_left(在左邊填充)、str_pad_both(兩邊填充,長度均分,使原字串居中對齊)
4.分解和合併字串:
①分解字串:
1)$array = explode(分隔符,string[,limit]);
第乙個引數:字串分隔符
第二個引數:要處理的字串
第三個引數:要返回陣列中值的最大數目,如果達到上限的話,陣列的最後乙個元素將會包含字串剩餘的部分。
返回值:分解後子串組成的字元陣列
2)$first_chunk = strtok(string,分隔符);
$next_chunk = strtok(分隔符);
strtok()函式可用於遍歷乙個字串,每次得到乙個新的字串塊。第一次呼叫strtok()的時候,需要傳遞兩個引數:標記分隔符和要遍歷的字串,
要得到剩下的標記,只需重複呼叫僅帶有分隔符的strtok(),當沒有任何標記可以返回時,strtok()函式返回false
如果再次呼叫strtok()時帶有兩個引數,就會重新初始化迭代器。
3)$array = sscanf(string,模板);
返回值為字段陣列
$count = sscanf(string,模板,var1,var2,...);
返回值為字段的個數
欄位的值儲存在變數var1,var2,...中
②合併字串:
$array = implode(分隔符,字元陣列);
join()函式是implode()的別名函式
example:
<?php
/** 分解和合併字串的測試
*///分解方式一:使用explode()函式
$string1 = 'fred,25,wilma';
$fields1 = explode(",",$string1);
var_dump($fields1);
$fields2 = explode(",", $string1,2);//將字串按","分隔成2段
var_dump($fields2);
//合併字串
$string2 = implode(",", $fields1);
//分解字串方式二:使用strtok()函式
$token = strtok($string2, ",");
while($token !== false)
//分解字串方式三:使用sscanf()函式
$string3 = "fred\tflintstone (35)";
$arr = sscanf($string3, "%s\t%s (%d)");
var_dump($arr);
$first = null;
$last = null;
$age = null;
$n = sscanf($string3,"%s\t%s (%d)",$first,$last,$age);
echo "matched $n fields:$first $last is $age years old";
?>
輸出:
5.字串查詢函式
①返回位置的查詢:
1)strpos()函式查詢乙個小字串在較大字串中第一次出現的位置:
$position = strpos(large_string,small_string);
如果沒有找到返回false
2)strrpos()函式查詢某個字元(注意是單個字元)在字串中最後一次出現的位置。如果將第二個引數傳入乙個字串,則只查詢該字串的首字元。
引數和返回值型別都與strpos()相同
3)查詢乙個字串的最後出現的位置:$pos = strpos(strrev(long_string),strrev(small_string));
②返回剩餘的字串
1)strstr()函式查詢乙個小字串在大字串中第一次出現的位置,並返回從小字串開始的部分。
2)strstr()的別名:strchr();
3)不區分大小寫的strstr():stristr()
4)查詢字元在字串最後出現的位置:strrchr();
③分解url:$array = parse_url(url);返回乙個由url成分組成的陣列;
example:
<?php
/** 字串查詢函式的測試
*///strpos()函式測試
$string1 = "gfgabcdabfdsfsabcvfd";
echo $pos1 = strpos($string1,"ab");
echo "\n";
//strrpos()函式測試
$string2 = "fred,flintstone,35,wilma";
echo $pos2 = strrpos($string2, ",");
echo "\n";
//查詢乙個字串的最後出現位置。
$string3 = "today is the day we go on holiday to florida";
$to_find = "day";
$pos3 = strpos(strrev($string3),strrev($to_find));//$pos3是要查詢的字串在反轉字串中的位置
if($pos3 == false)else
//測試strstr()及其變種函式
$string4 = "fred,flintstofe,35,wilma";
echo $rest = strstr($string4, ",");
echo "\n";
echo $rest = stristr($string4, 'f');//不區分大小寫識別
echo("\n");
echo $rest = strrchr($string4, 'i');
echo "\n";
//測試parse_url()函式
var_dump(parse_url(''));
?>
輸出: PHP程式設計讀書筆記一
詞法結構 大小寫 類名和函式名 和內建結構及關鍵字一樣 如echo,while,class 是不區分大小寫的 例子 echo 123 echo 123 echo 123 這三句話是等價的。變數名 是區分大小寫的。例子 name name是不同的兩個變數 語句和分號 語句 是指完成一段注釋或者完成某個...
C Primer讀書筆記(八)
stl容器之關聯容器 集和多集 set 和multiset 容器類 乙個集合 include 是乙個容器,它其中所包含的元素的值是唯一的。這在收集乙個資料的具體值的時候是有用 的。集合中的元素按一定的順序排列,並被作為集合中的例項。如果你需要乙個鍵 值對 pair 來儲存資料,map 也是乙個 關聯...
effective c 讀書筆記 八
主角是operator new 和operator delete,配角是new handler,當operator new無法滿足客戶的記憶體需求時所呼叫的函式。多執行緒環境下的記憶體管理,比單執行緒複雜的多。由於heap是乙個可悲改動的全域性性資源,因此多執行緒系統充斥這發狂訪問這一類資源的rac...