2017.4.30工作總結(jié)
本周完成情況##
** 學(xué)習(xí)php進(jìn)階**
- 字符串學(xué)習(xí)
字符串去空格
PHP字符串之去除字符串首尾的空格
PHP中有三個(gè)函數(shù)可以去掉字符串的空格
trim去除一個(gè)字符串兩端空格。
rtrim是去除一個(gè)字符串右部空格,其中的r是right的縮寫饱亮。
ltrim是去除一個(gè)字符串左部空格壹无,其中的l是left的縮寫失球。
例子如下:
echo trim(" 空格 ")."<br>";
echo rtrim(" 空格 ")."<br>";
echo ltrim(" 空格 ")."<br>";
計(jì)算字符串長度
str = 'hello';
$len = strlen($str);
echo $len;//輸出結(jié)果是5
strlen函數(shù)對(duì)于計(jì)算英文字符是非常的擅長聪轿,但是如果有中文漢字,要計(jì)算長度該怎么辦素邪?
可以使用mb_strlen()函數(shù)獲取字符串中中文長度。
例子如下:
$str = "我愛你";
echo mb_strlen($str,"UTF8");//結(jié)果:3声邦,此處的UTF8表示中文編碼是UTF8格式邓了,中文一般采用UTF8編碼
字符串截取長度
PHP字符串之字符串的截取
php中有非常多的字符串處理函數(shù)句葵,其中就有字符串截取函數(shù)。
1察蹲、英文字符串的截取函數(shù)substr()
函數(shù)說明:substr(字符串變量,開始截取的位置瞳腌,截取個(gè)數(shù))
例如:
$str='i love you';
//截取love這幾個(gè)字母
echo substr($str, 2, 4);//為什么開始位置是2呢菲盾,因?yàn)閟ubstr函數(shù)計(jì)算字符串位置是從0開始的悉默,也就是0的位置是i,1的位置是空格跟磨,l的位置是2叹话。從位置2開始取4個(gè)字符般妙,就是love。
2蔬捷、中文字符串的截取函數(shù)mb_substr()
函數(shù)說明:mb_substr(字符串變量,開始截取的位置,截取個(gè)數(shù), 網(wǎng)頁編碼)
例如:
$str='我愛你聪黎,中國';
//截取中國兩個(gè)字
echo mb_substr($str, 4, 2, 'utf8');//為什么開始位置是4呢露泊,和上一個(gè)例子一樣侣姆,因?yàn)閙b_substr函數(shù)計(jì)算漢字位置是從0開始的蚜厉,也就是0的位置是我,1的位置是愛,4的位置是中蕊连。從位置4開始取2個(gè)漢字顽铸,就是中國谓松。中文編碼一般是utf8格式.
字符串開始長度計(jì)算
如果有一個(gè)字符串$str = 'I want to study at imooc';星压,怎么樣找到其中的imooc在哪個(gè)位置呢?
查找字符串鬼譬,我們需要用到PHP的查找字符串函數(shù)strpos();
函數(shù)說明:strpos(要處理的字符串, 要定位的字符串, 定位的起始位置[可選])
例子:
$str = 'I want to study at imooc';
$pos = strpos($str, 'imooc');
echo $pos;//結(jié)果顯示19娜膘,表示從位置0開始,imooc在第19個(gè)位置開始出現(xiàn).
字符串替換
如果有一個(gè)字符串$str = 'I want to learn js';优质,怎么樣將js字符替換成你想學(xué)的php字符呢竣贪?
替換字符串,我們需要用到PHP的替換函數(shù)str_replace()
函數(shù)說明:str_replace(要查找的字符串, 要替換的字符串, 被搜索的字符串, 替換進(jìn)行計(jì)數(shù)[可選])
例子:
$str = 'I want to learn js';
$replace = str_replace('js', 'php', $str);
echo $replace;//結(jié)果顯示I want to learn php
PHP字符串之格式化字符串
如果有一個(gè)字符串$str = '99.9';巩螃,怎么樣使這個(gè)字符串變成99.90呢演怎?
我們需要用到PHP的格式化字符串函數(shù)sprintf()
函數(shù)說明:sprintf(格式, 要轉(zhuǎn)化的字符串)
返回:格式化好的字符串
例子:
$str = '99.9';
$result = sprintf('%01.2f', $str);
echo $result;//結(jié)果顯示99.90
解釋下,上面例子中的格式
這個(gè) %01.2f 是什么意思呢牺六?
1颤枪、這個(gè) % 符號(hào)是開始的意思,寫在最前面表示指定格式開始了淑际。 也就是 "起始字符", 直到出現(xiàn) "轉(zhuǎn)換字符" 為止畏纲,就算格式終止。
2春缕、跟在 % 符號(hào)后面的是 0盗胀, 是 "填空字元" ,表示如果位置空著就用0來填滿锄贼。
3票灰、在 0 后面的是1,這個(gè) 1 是規(guī)定整個(gè)所有的字符串占位要有1位以上(小數(shù)點(diǎn)也算一個(gè)占位)宅荤。
如果把 1 改成 6屑迂,則 $result的值將為 099.90
因?yàn)椋谛?shù)點(diǎn)后面必須是兩位冯键,99.90一共5個(gè)占位惹盼,現(xiàn)在需要6個(gè)占位,所以用0來填滿惫确。
4手报、在 %01 后面的 .2 (點(diǎn)2) 就很好理解了蚯舱,它的意思是,小數(shù)點(diǎn)后的數(shù)字必須占2位掩蛤。 如果這時(shí)候枉昏,$str 的值為9.234,則 $result的值將為9.23
- 正則學(xué)習(xí)
正則表達(dá)式的基本語法
PCRE庫函數(shù)中,正則匹配模式使用分隔符與元字符組成揍鸟,分隔符可以是非數(shù)字兄裂、非反斜線、非空格的任意字符蜈亩。經(jīng)常使用的分隔符是正斜線(/)懦窘、hash符號(hào)(#) 以及取反符號(hào)(~),例如:
/foo bar/
#^[^0-9]$#
~php~
如果模式中包含分隔符稚配,則分隔符需要使用反斜杠(\)進(jìn)行轉(zhuǎn)義畅涂。
/http:\/\//
如果模式中包含較多的分割字符,建議更換其他的字符作為分隔符道川,也可以采用preg_quote進(jìn)行轉(zhuǎn)義午衰。
$p = 'http://';
$p = '/'.preg_quote($p, '/').'/';
echo $p;
分隔符后面可以使用模式修飾符,模式修飾符包括:i, m, s, x等冒萄,例如使用i修飾符可以忽略大小寫匹配:
$str = "Http://www.imooc.com/";
if (preg_match('/http/i', $str)) {
echo '匹配成功';
}
**元字符與轉(zhuǎn)義**
正則表達(dá)式中具有特殊含義的字符稱之為元字符臊岸,常用的元字符有:
\ 一般用于轉(zhuǎn)義字符
^ 斷言目標(biāo)的開始位置(或在多行模式下是行首)
$ 斷言目標(biāo)的結(jié)束位置(或在多行模式下是行尾)
. 匹配除換行符外的任何字符(默認(rèn))
[ 開始字符類定義
] 結(jié)束字符類定義
| 開始一個(gè)可選分支
( 子組的開始標(biāo)記
) 子組的結(jié)束標(biāo)記
? 作為量詞,表示 0 次或 1 次匹配尊流。位于量詞后面用于改變量詞的貪婪特性帅戒。 (查閱量詞)
* 量詞,0 次或多次匹配
+ 量詞崖技,1 次或多次匹配
{ 自定義量詞開始標(biāo)記
} 自定義量詞結(jié)束標(biāo)記
//下面的\s匹配任意的空白符逻住,包括空格,制表符迎献,換行符瞎访。[^\s]代表非空白符。[^\s]+表示一次或多次匹配非空白符吁恍。
$p = '/^我[^\s]+(蘋果|香蕉)$/';
$str = "我喜歡吃蘋果";
if (preg_match($p, $str)) {
echo '匹配成功';
}
元字符具有兩種使用場景扒秸,一種是可以在任何地方都能使用,另一種是只能在方括號(hào)內(nèi)使用冀瓦,在方括號(hào)內(nèi)使用的有:
\ 轉(zhuǎn)義字符
^ 僅在作為第一個(gè)字符(方括號(hào)內(nèi))時(shí)伴奥,表明字符類取反
- 標(biāo)記字符范圍
其中^在反括號(hào)外面,表示斷言目標(biāo)的開始位置翼闽,但在方括號(hào)內(nèi)部則代表字符類取反拾徙,方括號(hào)內(nèi)的減號(hào)-可以標(biāo)記字符范圍,例如0-9表示0到9之間的所有數(shù)字肄程。
//下面的\w匹配字母或數(shù)字或下劃線锣吼。
$p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/';
$str = "我的郵箱是Spark.eric@imooc.com";
preg_match($p, $str, $match);
echo $match[0];
未完成的
繼續(xù)學(xué)習(xí)php進(jìn)階
本周總結(jié)
加強(qiáng)自身php 以及js的學(xué)習(xí),更好的理解項(xiàng)目蓝厌。