php中的雙引號與單引號的基本使用及區(qū)別
字符串,在各類編程語言中都是一個(gè)非常重要的數(shù)據(jù)類型
網(wǎng)頁當(dāng)中的圖片,文字,特殊符號,HTMl標(biāo)簽,英文等都屬于字符串
PHP字符串變量用于存儲并處理文本, 在創(chuàng)建字符串之后,我們就可以對它進(jìn)行操作。我們可以直接在函數(shù)中使用字符串,或者把它存儲在變量中
字符串是一個(gè)非常要的知識,在開發(fā)中,有的使用單引號,有的使用雙引號,這個(gè)是有區(qū)別的
在PHP語言中聲明字符串有三種方式
用單引號聲明用雙引號聲明用字界符聲明(這個(gè)需要輸入非常大段的字符串時(shí)才使用,不常用)1.單引號聲明用英文半腳的單引號,將字符串包起來,字符串變量用于包含有字符的值
<?php//聲明字符串變量$name$name = '我是川川';echo $name; // 12,一個(gè)中文字符占三個(gè)字節(jié)?>如果你想測試字符串的長度,可以使用PHP提供的字符串函數(shù)strlen("字符串"),或strpos(),此函數(shù)用于在字符串內(nèi)查找一個(gè)字符或一段指定的文本。
如果在字符串中找到匹配,該函數(shù)會返回第一個(gè)匹配的字符位置。如果未找到匹配,則返回 false
<?php $name = '我是川川'; echo strlen($name); echo strpos('Hello world!','world'); // 6?>2.雙引號聲明字符串在字符串兩邊加雙引號
<?php //聲明字符串變量$str $str = '書以啟智,技于謀生,活出斜杠。'; echo $str;?>3.字界符聲明1). 在變量后面的等號寫三個(gè)小于號(<<<)。2). 然后在<<<后面寫上字符(建議英文大寫字符),如下例中的:ABC3). 然后換行寫上任意想寫的字符 4). 寫完后,頂行。在行最開始處,再寫上<<<后面的字符和分號。如下例中的:ABC
$weilai = '努力才有未來';$mimang = '迷茫的原因是沒有目標(biāo)';$dingjie = <<<ABC 如果 $weilai 非要\t在這'' 前 '$mimang' 面<br /> 加上\n一段 <i>距離的話</i> 我想說:<h1>思想有多遠(yuǎn),你就跟我滾多遠(yuǎn)</h1>ABC;echo $dingjie雙引號與單引號有什么區(qū)別雙引號能解析變量,但是單引號不解析變量在上引號里面插入變量,變量后面如果有英文或中文字符,它會把這個(gè)字符和變量拼接起來,視為一個(gè)整個(gè)變量,一定要在變量后面上拼接字符,例如空格等分開如果在雙引號里面插入變量的時(shí)候,后面不想有空格,可以拿雙大括號將變量包起來雙引號解析轉(zhuǎn)義字符,單引號不解析轉(zhuǎn)義字符,但單引號能解析'和\單引號效率要高于雙引號,可以盡可能使用單引號雙引號和單引號可以互插,雙引號中插入單引號,單引號中插入變量,這個(gè)變量會被解析字符串的拼接,可以用'.'號連接,拼接(常用)1. 雙引號解析變量,但是單引號不解析變量<?php // 聲明變量$name $website = 'https://coder.itclan.net'; $str = '$website,測試一下這個(gè)變量會不會顯示'; echo $str;?>上面的是能夠顯示出結(jié)果的,變量$website能夠被解析 雙引號中間的變量夠執(zhí)行顯示,我們將$str這個(gè)字符串兩邊的雙引號,改為單引號試試,再看一次執(zhí)行結(jié)果,結(jié)果發(fā)現(xiàn)
發(fā)現(xiàn)$website 直接顯示出來了,而不是雙引號的顯示結(jié)果。
通過上例,可證明:雙引號執(zhí)行變量,而單引號不執(zhí)行變量。我們得到一個(gè)重要結(jié)論
雙引號需要解析變量,因此雙引號的效率沒有單引號高。我們?nèi)绻麨榱烁叩男剩覀兺ǔJ褂脝我?/p>2. 在雙引號里面插入變量
在雙引號里面插入變量,變量后面如果有英文或中文字符,它會把這個(gè)字符和變量拼接起來,視為一整個(gè)變量。可以在后面接上特殊字符,例如空格等分開
<?php $php = 'php-開始學(xué)php'; $str = '$phpaaaa'; //你會發(fā)現(xiàn)輸出$str,什么都沒有在頁面中顯示 echo $str;?>然而,我們在$str聲明的這個(gè)字符串中將$php后面接個(gè)空格再接aaaa,代碼如下
<?php $php = 'php-開始學(xué)php'; $str = '$php aaaa'; //在$php后面添加一個(gè)空格,頁面卻正常顯示了的 echo $str;?>你在很多項(xiàng)目里,有的會看到空格的,如果你不小心刪除了空格,那么就會不顯示
如果你不想要在后面不想要有空格,可以用雙大括號將變量包裹起來的,如下代碼所示
<?php $php = 'php-開始學(xué)php'; $str = '{$php}aaaa'; //在$php后面添加一個(gè)空格,頁面卻正常顯示了的 echo $str;?>3. 雙引號解析轉(zhuǎn)義字符,單引號不解析轉(zhuǎn)義字符雙引號解析轉(zhuǎn)義字符,單引號不解析轉(zhuǎn)義字符,但單引號能解析`,和\
比如:
<?php // 聲明一個(gè)字符串,記住是雙引號 $string = '好好學(xué)習(xí)\n,天天向上\t,相信自己'; echo $string;?>從瀏覽器輸出結(jié)果當(dāng)中可以看出是有效果的
如果換成單引號,那么情況就變了的
<?php // 聲明一個(gè)字符串,記住是雙引號 $string = '好好學(xué)習(xí)\n,天天向上\t,相信自己'; echo $string;?>你會發(fā)現(xiàn),單引號的\t,\n直接就顯示出來了,而沒有變成一次回車鍵和按一次的tab鍵后的效果
也就是,雙引號執(zhí)行轉(zhuǎn)義字符而單引號不執(zhí)行轉(zhuǎn)義字符
4.轉(zhuǎn)義字符\(反斜線的使用)如果我們聲明一個(gè)變量,我們想要在name聲明的雙引號中間加上一個(gè)雙引號顯示輸出怎么辦
<?php //要在$name的字符串中顯示一個(gè)雙引號怎么辦? $name = '多于絕大多數(shù)的人出生就是杯具,但是'我們在不斷的讓人生變?yōu)橄矂?; echo $name;?>上述代碼會報(bào)錯(cuò),雙引號中間還有一個(gè)雙引號。也就是意味著字符串聲明提前結(jié)束了
我們需要將雙引號原有的意義去掉。再雙引號前面加上一個(gè)```(反斜線,計(jì)算機(jī)的專業(yè)名詞叫轉(zhuǎn)義字符),就可以了
<?php//要在$name的字符串中顯示一個(gè)雙引號怎么辦?$name = '多于絕大多數(shù)的人出生就是杯具,但是\'我們在不斷的讓人生變?yōu)橄矂?;echo $name;?>再執(zhí)行一下上面的代碼,發(fā)現(xiàn)不再報(bào)錯(cuò)了。同理可推,單引號當(dāng)中要插入一個(gè)單引號顯示出來的時(shí)候,也可以在單引號聲明的字符串中的單引號前面加上(反斜線,轉(zhuǎn)義字符),將單引號的意義(限定字符區(qū)間)去掉
5. 雙號和單引號可以互插雙號和單引號可以互插,雙引號當(dāng)中插入單引號,單引號當(dāng)中插入變量,這個(gè)變量會被解析
<?php $legend = '猛虎'; $NoAlike = '心有'$legend',細(xì)嗅薔薇'; echo $NoAlike;?>需要注意的是,雙引號內(nèi)可以,插入單引號,中有變量,可以被解析,反過來則不行,會報(bào)錯(cuò)
6. 字符串可以用(.)來拼接如下代碼所示
<?php $php = 'itclanCoder'; //中間加了空格 $str = '{$php}aaaa'; echo $str;?>雙引號能夠解析變量,有一個(gè)問題:
效率沒有純單引號的高
那么問題1:我想改為效率最高的方式應(yīng)該怎么辦?
問題2:我有多個(gè)字符串,要拼接在一聲怎么辦?
那我們需要使用到神奇的膠水:(.)點(diǎn),用來拼接字符串
<?php$shixi = '大學(xué)4年要好好學(xué)習(xí)<br />';$buran = '不然連實(shí)習(xí)的機(jī)會都沒有<br />';$mimang = '把別人用來迷茫的時(shí)間用來學(xué)習(xí)<br />';$xuexi = '學(xué)習(xí)PHP<br />';//我們可以把字符串全部拼接起來。echo $shixi . $buran . $mimang . $xuexi;?>上面的代碼可以更改為
<?php $php = 'itclanCoder'; //中間加了空格 $str = $php . 'aaaa'; echo $str;?>以上就是關(guān)于php當(dāng)中雙引號與單引號的使用,在面試的時(shí)候,有時(shí)候也會問到
到此這篇關(guān)于php中的雙引號與單引號的基本使用的文章就介紹到這了,更多相關(guān)php雙引號與單引號使用內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
