使用轉(zhuǎn)義符“\”有點(diǎn)不好理解啊有大神講一下為什么這樣寫嗎
我的理解是$str_string=”我說:\"我是這樣寫的”\“;
或者$str_string=”我說:“\我是這樣寫的\”“;
然而實(shí)際上$str_string=“事實(shí)說:\"事實(shí)上是這樣寫的\"";
難道是讀取的問題嗎是因?yàn)橛?jì)算機(jī)要這樣\"這樣讀取的問題嗎 ?對(duì)稱性強(qiáng)迫癥受不了
以上只是猜測(cè)希望有大神稍微解釋下 ?本人小白一只謝謝了
2016-10-26
\a ? ?響鈴(BEL) ? ?007 ? ?
\b ? ?退格(BS) ? ?008 ? ?
\f ? ?換頁(yè)(FF) ? ?012 ? ?
\n ? ?換行(LF) ? ?010 ? ?
\r ? ?回車(CR) ? ?013 ? ?
\t ? ?水平制表(HT) ? ?009 ? ?
\v ? ?垂直制表(VT) ? ?011 ? ?
\\ ? ?反斜線 ? ?092 ? ?
​ ? ?​ ? ?​ ? ?
\' ? ?單引號(hào)字符 ? ?039 ? ?
\" ? ?雙引號(hào)字符 ? ?034 ? ?
\0 ? ?空字符(NULL) ? ?000 ? ?
\ddd ? ?任意字符 ? ?三位八進(jìn)制 ? ?
\xhh ? ?任意字符 ? ?二位十六進(jìn)制 ? ?
這種轉(zhuǎn)義字符是在計(jì)算機(jī)內(nèi)部定義好的,如果你想要是先轉(zhuǎn)義的話就得將你要轉(zhuǎn)義的字符放在反徐線的后面,希望對(duì)你有幫助
2016-11-17
轉(zhuǎn)義字符是程序中有些字符本身有一定意思的,比如單引號(hào)或雙引號(hào),他們?cè)诔绦蛑斜旧淼囊馑际怯脕肀磉_(dá)字符類型的數(shù)據(jù),如:'php',"我想學(xué)PHP",如果要在字符中需要顯示字符單引號(hào)或雙引號(hào),很容易被PHP的解釋器理解成用來包裹字符定義字符串的,如:"我想學(xué)"PHP",會(huì)被分成兩部分 ("我想學(xué)")和(PHP"),前面的沒有問題,后面的PHP解釋器就無法解釋了,這個(gè)時(shí)候我們需要將中間的雙引號(hào)的功能去掉,讓它僅能表達(dá)的是個(gè)字符,而不是定義字符串這樣的功能,這個(gè)去掉其原始功能的行為,我理解成轉(zhuǎn)義,那么正確的表達(dá)方式是"我想學(xué)\"PHP"
轉(zhuǎn)義還有第二種函義,從某種意義上可能還是屬于上面的一種。計(jì)算機(jī)中定義的字符有很多個(gè)(ASSCI碼中字符,128個(gè)),其中有些字符是看不到的,比如換行,制表符號(hào)(tab鍵產(chǎn)生的字符,一般有4個(gè)或8個(gè)空格那么長(zhǎng)),而我們的鍵盤上鍵實(shí)在太少了,想要表達(dá)那么多字符現(xiàn)有的鍵盤肯定達(dá)不到,這就需要有字符與字符之間相互組合,這種組合不能隨便的任字母組合,需要避開常用的組合,如(ab,abc,bcd),因?yàn)槟切┦侨粘=?jīng)常會(huì)碰到的。PHP中選擇了斜扛+字符(\ABC)的方式,這種方式也是轉(zhuǎn)義。
所以才有了上述的轉(zhuǎn)義字符
\b ? ?退格(BS) ? ?008 ? ?
\f ? ?換頁(yè)(FF) ? ?012 ? ?
\n ? ?換行(LF) ? ?010 ? ?
\r ? ?回車(CR) ? ?013 ? ?
\t ? ?水平制表(HT) ? ?009 ? ?
\v ? ?垂直制表(VT) ? ?011 ? ?
\\ ? ?反斜線 ? ?092 ? ?
​ ? ?​ ? ?​ ? ?
\' ? ?單引號(hào)字符 ? ?039 ? ?
\" ? ?雙引號(hào)字符 ? ?034 ? ?
\0 ? ?空字符(NULL) ? ?000 ? ?
\ddd ? ?任意字符 ? ?三位八進(jìn)制 ? ?
\xhh ? ?任意字符 ? ?二位十六進(jìn)制 ? ?
2016-10-26
果然是這樣嗎總之謝謝了 雖然很不習(xí)慣但是我會(huì)克服這個(gè)肯爹的設(shè)定的