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