PHP程式設計讀書筆記八

2021-07-16 10:23:12 字數 3519 閱讀 6083

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...