PHP 字符串操作

碎碎念

記錄一些PHP中字符串的學(xué)習(xí)記錄残炮。

雙引號和單引號的區(qū)別

  1. 雙引號可以用來解析變量,單引號不解析變量缩滨。所以势就,如果純輸出字符串,單引號的效率會高一些楷怒;
  2. 雙引號會解析內(nèi)部所有的轉(zhuǎn)義符蛋勺,單引號則僅僅解析\\\'

花括號的運(yùn)用

  • 劃分變量的界限
    PHP在解析到$時會盡可能多的標(biāo)識來解析一個變量鸠删,可以用大括號把變量括起來可以讓變量成為一個整體抱完,明確變量名的界限,后面還可以加其它字符串刃泡,避免解析錯誤巧娱。注意,花括號之間不能有空格烘贴。
<?php
echo "我的名字是{$username}哈哈哈哈";
  • 字符串增刪改查
    需要注意:
  1. 字符串下標(biāo)從0開始
  2. 也可以用[]達(dá)到同樣的效果
  3. 只能用一個字符修改一個字符禁添,$str{1}='hello'只能取字符h
  4. 不適合使用中文這種多字節(jié)編碼的語言
<?php
$str = 'Hello World';
echo $str{1}; // e
$str{1}=''; // 刪除操作,其實只是替換桨踪,長度并沒有改變
$str{1}='h'; // 更新操作
$str{11}=';'; // 增加操作
echo $str{mt_rand(0, strlen($str)-1)}; // 隨機(jī)出現(xiàn)一個字母

heredoc/nowdoc

當(dāng)有大段內(nèi)容時可以采用EOF大段內(nèi)容的寫法老翘。如果字符串中需要解析變量,可以使用heredoc锻离,否則使用nowdoc铺峭。
heredoc相當(dāng)于雙引號的功能,可以解析變量汽纠,語法如下:

<?php
<<<xxx
    內(nèi)容......
xxx;

需要注意:

  1. 結(jié)束符前面不能有任何內(nèi)容卫键,制表符空格都不行;
  2. 標(biāo)示名只能包含字母虱朵,數(shù)字莉炉,下劃線钓账,必須以字母,下劃線開始絮宁;
  3. 內(nèi)部內(nèi)容不用考慮單雙引號梆暮;
  4. PHP5.3后標(biāo)示符名稱可以用雙引號擴(kuò)起來;

nowdoc只是把標(biāo)示符名稱放在單引號內(nèi)羞福,不解析變量和轉(zhuǎn)義符惕蹄。


截屏2020-01-13下午1.09.59.png

字符串類型轉(zhuǎn)換

  1. 數(shù)值echo后還是數(shù)值本身
  2. 布爾值echo后,true轉(zhuǎn)換為1治专,false轉(zhuǎn)換為空字符串
  3. null也轉(zhuǎn)換為空字符串
  4. echo array(1,2,3,4,5);卖陵,返回字符串的Array
  5. 資源轉(zhuǎn)換,$handle=fopen('str.text', 'r'); var_dump($handle)张峰,返回 resource of type(stream)泪蔫,此時直接echo資源則返回Resource id #3
  6. 對象不能直接轉(zhuǎn)換為字符串,會包致命錯誤
強(qiáng)制轉(zhuǎn)換
  • 臨時轉(zhuǎn)換
    即不改變原變量的類型喘批, (string)strval()
<?php
$var=123;
$res=(string)$var;
var_dump($res); // string(3) "123"
$boo=true
var_dump(strval($boo)); // string(1) "1"

同樣的撩荣,布爾類型會轉(zhuǎn)換成變量"1";false會轉(zhuǎn)換成""饶深;

  • 永久轉(zhuǎn)換
    settype()gettype()餐曹。
$var='gaohang';
$var1=123;
echo gettype($val); // string
echo gettype($var1); // integer
settype($varq,'string');
  • 數(shù)字與字符串相加規(guī)律
字符串轉(zhuǎn)換規(guī)律

如圖,如果數(shù)字遇到完全的字符串敌厘,則字符串為0台猴,若字符串首位為合法數(shù)字,則取首位的數(shù)字俱两。

  • string轉(zhuǎn)換為布爾類型
    有以下幾種情況會被轉(zhuǎn)換為false饱狂,大致可以記憶為字符串或字符串的0:
  1. null
  2. ""
  3. "0" // "0.0"為真
  4. 0;
  5. 0.0
  6. array()
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宪彩,隨后出現(xiàn)的幾起案子休讳,更是在濱河造成了極大的恐慌,老刑警劉巖尿孔,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊柔,死亡現(xiàn)場離奇詭異,居然都是意外死亡活合,警方通過查閱死者的電腦和手機(jī)雏婶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芜辕,“玉大人尚骄,你說我怎么就攤上這事块差∏中” “怎么了倔丈?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長状蜗。 經(jīng)常有香客問我需五,道長,這世上最難降的妖魔是什么轧坎? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任宏邮,我火速辦了婚禮,結(jié)果婚禮上缸血,老公的妹妹穿的比我還像新娘蜜氨。我一直安慰自己,他們只是感情好捎泻,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布飒炎。 她就那樣靜靜地躺著,像睡著了一般笆豁。 火紅的嫁衣襯著肌膚如雪郎汪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天闯狱,我揣著相機(jī)與錄音煞赢,去河邊找鬼。 笑死哄孤,一個胖子當(dāng)著我的面吹牛照筑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播录豺,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼朦肘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了双饥?” 一聲冷哼從身側(cè)響起媒抠,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咏花,沒想到半個月后趴生,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡昏翰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年苍匆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棚菊。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡浸踩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出统求,到底是詐尸還是另有隱情检碗,我是刑警寧澤据块,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站折剃,受9級特大地震影響另假,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜怕犁,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一边篮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奏甫,春花似錦戈轿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至款筑,卻和暖如春智蝠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奈梳。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工杈湾, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攘须。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓漆撞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親于宙。 傳聞我的和親對象是個殘疾皇子浮驳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 字符串的概念: 一個字符串string就是由一系列的字符組成,其中每個字符等同于一個字節(jié)捞魁。這意味著 PHP 只能...
    jack_jt_z閱讀 1,635評論 0 10
  • 一. 如何定義字符串 1. 使用單引號或雙引號定義字符串 雙引號:$str = "BIGBEAR"; 單引號:$s...
    大熊BIGBEAR閱讀 280評論 0 1
  • ----- 最后更新【2021-10-12】----- PHP強(qiáng)化系列--目錄[https://www.jians...
    四月不見閱讀 725評論 0 16
  • 憋了好久至会,終于迎來第一篇簡書,今天就寫寫在PHP開發(fā)中經(jīng)常用到的操作之一——PHP字符串操作一谱俭、替換 二奉件、刪除字符...
    周瑜君閱讀 867評論 0 0
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,370評論 0 5