国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php數(shù)據(jù)類型之字符串

字符串就是所有我們可見和不可見的字符,就是我們?nèi)粘.?dāng)中說的話,就是我想說:“小明好帥”或者“鳳姐,我愛你!”。字符串,就是我想表達(dá)的一切讓人看到的字符。

例如可以看到的字符:

我愿變成童話你,你愛的那個(gè)王子,有房有車有票子。?<html><title></title></html>?^@@@#@?my name is xiaoshenyang

以上可以見到的文字,HTML標(biāo)簽、特殊字符和英文等等,我們都認(rèn)為是字符串。

注:不可見字符暫時(shí)不講解,因?yàn)?,文本中無法表現(xiàn),下面的實(shí)驗(yàn)中逐漸注意即可。為了有更清晰的表現(xiàn),也可以觀看本書配套的PHP學(xué)院出品關(guān)于字符串的視頻。

在PHP語言中聲明字符串有三種方式:

????1.用單引號(hào)聲明

????2.用雙引號(hào)聲明

????3.用字界符聲明(需要輸入非常大段的字符串時(shí)使用)

1.單引號(hào)聲明?

用英文半腳的單引號(hào),將字符串包起來

<?php
//聲明字符串變量$zhifu

$zhifu = '曾經(jīng)有操蛋的愛情擺在我面前,我珍惜了。當(dāng)我得到的時(shí)候才感到后悔莫及。如果非要在這段愛情前面加上一段三個(gè)字,我愿意說三個(gè)字:滾犢子';

//你可以放XAMPP指定的目錄下,新建一個(gè)文件叫str.php。然后訪問一下http://127.0.0.1/str.php試試。會(huì)不會(huì)顯示這句話。

echo $zhifu;

?>

2.雙引號(hào)聲明字符串
在字符串兩邊加雙引號(hào)。

<?php
//聲明字符串變量$str
$str = "如果非要在滾犢子前面加上一個(gè)時(shí)間的話我愿意是馬上。";

echo $str;
?>

3.字界符聲明
1).在變量后面的等號(hào)寫三個(gè)小于號(hào)(<<<)。
2).然后在<<<后面寫上字符(建議英文大寫字符)。如下例中的:ABC
3).然后換行寫上任意想寫的字符
4).寫完后,頂行。在行最開始處,再寫上<<<后面的字符和分號(hào)。如下例中的:ABC;

<?php

$dingjie = <<<ABC
  如果
       非要在這個(gè)滾犢子
   前
       面<br />
      加上一段
   <i>距離的話</i>
   我想說:<h1>思想有多遠(yuǎn),你就跟我滾多遠(yuǎn)</h1>
ABC;
?>

那雙引號(hào)和單引號(hào)有什么區(qū)別呢?

【重要知識(shí)點(diǎn)】PHP面試題中,高概率面試題(建議背誦并實(shí)驗(yàn)三遍以上)

????1.雙引號(hào)解析變量,但是單引號(hào)不解析變量。

????2.在雙引號(hào)里面插入變量,變量后面如果有英文或中文字符,它會(huì)把這個(gè)字符和變量拼接起來,視為一整個(gè)變量。一定要在變 ? ???????量后面接上特殊字符,例如空格等分開。

????3.如果在雙引號(hào)里面插變量的時(shí)候,后面不想有空格,可以拿大括號(hào)將變量包起來。

????4.雙引號(hào)解析轉(zhuǎn)義字符,單引號(hào)不解析轉(zhuǎn)義字符。但,單引號(hào)能解析' 和

????5.單引號(hào)效率高于雙引號(hào),盡可能使用單引號(hào)

????6.雙號(hào)和單引號(hào)可以互插?。。‰p引號(hào)當(dāng)中插入單引號(hào),單引號(hào)當(dāng)中插入變量,這個(gè)變量會(huì)被解析。

????7.神奇的字符串拼接膠水——(.)點(diǎn),用來拼接字符串。

????8.我們將定界符聲明字符串視為雙引號(hào)一樣的功能來看待。

實(shí)驗(yàn)舉例

1.雙引號(hào)解析變量,但是單引號(hào)不解析變量

<?php
//聲明變量$shouji
$shouji = '為了蘋果手機(jī)去賣腎';
//在雙引號(hào)中放$shouji 然后echo 一下是什么效果呢?
$str = "$shouji 會(huì)不會(huì)顯示呢?";
//輸入$str試試
echo $str;
?>

在瀏覽器中打開,運(yùn)行的結(jié)果如下:

QQ截圖20161114092822.png

通過上邊的例子,我們發(fā)現(xiàn)。雙引號(hào)中間的變量夠執(zhí)行顯示,我們將$str這個(gè)字符串兩邊的雙引號(hào),改為單引號(hào)試試,再看一次執(zhí)行結(jié)果:

QQ截圖20161114093040.png

發(fā)現(xiàn)$shouji 直接顯示出來了,而不是雙引號(hào)的顯示結(jié)果。

通過上例,我們證明了:雙引號(hào)執(zhí)行變量,而單引號(hào)不執(zhí)行變量。我們得到一個(gè)重要結(jié)論:

雙引號(hào)需要解析變量,因此雙引號(hào)的效率沒有單引號(hào)高。我們?nèi)绻麨榱烁叩男?,我們通常使用單引?hào)。

2. 在雙引號(hào)里面插入變量,變量后面如果有英文或中文字符,它會(huì)把這個(gè)字符和變量拼接起來,視為一整個(gè)變量??梢栽诤竺娼由咸厥庾址缈崭竦确珠_。

<?php
$php = 'php中文網(wǎng)';

$str = "$phpaaaa";
//你會(huì)發(fā)現(xiàn)輸出$str,什么都沒有在頁(yè)面中顯示
echo $str;
?>

但是,我們?cè)?str 聲明的這個(gè)字符串中將$huaqiangu 后面接個(gè)空格再接aaaa,代碼如下:

<?php
$php = 'php中文網(wǎng)';
//中間加了空格喲
$str = "$php aaaa";

echo $str;
?>

大家發(fā)現(xiàn)執(zhí)行顯示的結(jié)果不再是空白頁(yè)面,而是這個(gè)頁(yè)面中有內(nèi)容了。如下:

QQ截圖20161114093257.png

我們把代碼再改改:

<?php
$php = 'php中文網(wǎng)';
//中間加了空格喲
$str = "$php!aaaa";

echo $str;
?>

大家打開一次頁(yè)面,執(zhí)行了一次代碼看看結(jié)果是不是變?yōu)榱耍?/p>

php中文網(wǎng)!aaaa

因此,證明了我們的第二項(xiàng)觀點(diǎn)。

3. 如果在雙引號(hào)里面插變量的時(shí)候,后面不想有空格,可以拿大括號(hào)將變量包起來。

那,如果我不想在后面有空格有,有特殊符號(hào),就想直接顯示變量$huaqiangu呢?——我們的解決辦法是用大括號(hào)把變量包起來。代碼如下:

<?php
$php = 'php中文網(wǎng)';
//中間加了空格喲
$str = "{$php}aaaa";

echo $str;
?>

于是,大家會(huì)發(fā)現(xiàn)花千骨后面沒有了特殊符號(hào),也沒有空格了,達(dá)到了我們想要的顯示結(jié)果,演示效果如下:

QQ截圖20161114093552.png

4. 雙引號(hào)解析轉(zhuǎn)義字符,單引號(hào)不解析轉(zhuǎn)義字符。但,單引號(hào)能解析' 和

第4個(gè)字符串的注意事項(xiàng)比較難以觀察,轉(zhuǎn)義字符有一些,但最常用的有:
n 回車
t 縮進(jìn)

我們來通過實(shí)驗(yàn)先來理解n和t是什么。

<?php
//聲明一個(gè)字符串,記住是雙引號(hào)
$string = "每天來PHP中文網(wǎng)\n給夢(mèng)想\t一個(gè)機(jī)會(huì)";
echo $string;
?>

做這一塊的實(shí)驗(yàn)中有一個(gè)注意事項(xiàng),顯示網(wǎng)頁(yè)是看不出來效果的,如下:

QQ截圖20161114093510.png

為什么看不出來n和t代表什么含義,也看不出來雙引號(hào)解析了n和t呢?——因?yàn)椋銢]有點(diǎn)擊鼠標(biāo)右鍵查看源代碼。我們來點(diǎn)擊一下,再看看效果。

第一步:顯示網(wǎng)頁(yè)源代碼

第二步:查看HTML源代碼顯示的結(jié)果:

大家來對(duì)比字符串變量:

$string = "每天來PHP中文網(wǎng)n給夢(mèng)想t一個(gè)機(jī)會(huì)";

n在PHP學(xué)院的后面,在源代碼里顯示的結(jié)果是跟按了回車鍵一樣的效果。
t在給夢(mèng)想和一個(gè)機(jī)會(huì)中間。顯示的結(jié)果是有幾個(gè)空格的效果。t相當(dāng)于我們?cè)陔娔X上按了一個(gè)tab鍵效果。

但是,我們同樣執(zhí)行一下上面的代碼,但是$string雙引號(hào)改為用單引號(hào):

<?php
//聲明一個(gè)字符串,記住是雙引號(hào)
$string = '每天來PHP中文網(wǎng)\n給夢(mèng)想\t一個(gè)機(jī)會(huì)';
echo $string;
?>

執(zhí)行次看看效果:

QQ截圖20161114093821.png

你會(huì)發(fā)現(xiàn)——單引號(hào)中間的t和n直接顯示出來了,而沒有變成按一次回車鍵和按一次tab鍵后的效果。
因此:

雙引號(hào)執(zhí)行轉(zhuǎn)義字符而單引號(hào)不執(zhí)行轉(zhuǎn)義字符。

5. 轉(zhuǎn)義字符(反斜線的使用)

如果我們聲明一個(gè)變量$beizi,我們想要在$beizi聲明的雙引號(hào)中間加上一個(gè)雙引號(hào)顯示輸出怎么辦?

<?php

//要在$beizi的字符串中顯示一個(gè)雙引號(hào)怎么辦?
$beizi = "多于絕大多數(shù)的人出生就是杯具,但是"我們?cè)诓粩嗟淖屓松優(yōu)橄矂?quot;;

echo $beizi;
?>

如果真如上述所寫代碼,代碼會(huì)報(bào)錯(cuò)。報(bào)錯(cuò)結(jié)果如下:

因?yàn)樽址骸岸嘤诮^大多數(shù)的人出生就是杯具,但是"我們?cè)诓粩嗟淖屓松優(yōu)橄矂 北仨殞懺陔p引號(hào)中間。而雙引號(hào)中間還有一個(gè)雙引號(hào)。也就是意味著字符串聲明提前結(jié)束了,在“但是”處結(jié)束了。后面"我們?cè)诓粩嗟淖屓松優(yōu)橄矂?,電腦不認(rèn)識(shí)。

這真是一個(gè)杯具!那么辦?

答:我們需要將雙引號(hào)原有的意義去掉。再雙引號(hào)前面加上一個(gè)(反斜線,計(jì)算機(jī)的專業(yè)名詞叫轉(zhuǎn)義字符),就可以了。

<?php

//要在$beizi的字符串中顯示一個(gè)雙引號(hào)怎么辦?
$beizi = "多于絕大多數(shù)的人出生就是杯具,但是\"我們?cè)诓粩嗟淖屓松優(yōu)橄矂?quot;;

echo $beizi;
?>

你可以再執(zhí)行一下上面的代碼,發(fā)現(xiàn)不再報(bào)錯(cuò)了。同理可推,單引號(hào)當(dāng)中要插入一個(gè)單引號(hào)顯示出來的時(shí)候,也可以在單引號(hào)聲明的字符串中的單引號(hào)前面加上(反斜線,轉(zhuǎn)義字符),將單引號(hào)的意義(限定字符區(qū)間)去掉。

<?php

//要在$beizi的字符串中顯示一個(gè)雙引號(hào)怎么辦?
$shengyang = 'i\'m xiaoshengyang';

echo  $shengyang;
?>

6. 雙號(hào)和單引號(hào)可以互插!?。‰p引號(hào)當(dāng)中插入單引號(hào),單引號(hào)當(dāng)中插入變量,這個(gè)變量會(huì)被解析。

代碼如下:

<?php

$legend = '猛虎';

$NoAlike = "心有'$legend',細(xì)嗅薔薇";

echo $NoAlike;

?>

執(zhí)行結(jié)果如下:

QQ截圖20161114093923.png

7. 神奇的字符串拼接膠水——(.)點(diǎn),用來拼接字符串。

<?php
$php = 'PHP中文網(wǎng)';
//中間加了空格喲
$str = "{$php}aaaa";

echo $str;
?>

上面這段代碼是,我們?cè)?jīng)說過雙引號(hào)能夠解析變量,有一個(gè)問題:

效率沒有純單引號(hào)的高

那么問題1:我想改為效率最高的方式應(yīng)該怎么辦?

問題2:我有多個(gè)字符串,要拼接在一聲怎么辦?

那,我們需要使用到神奇的膠水:(.)點(diǎn),用來拼接字符串。

<?php

$shixi = '大學(xué)4年要好好學(xué)習(xí)<br />';

$buran = '不然連實(shí)習(xí)的機(jī)會(huì)都沒有<br />';

$mimang = '把別人用來迷茫的時(shí)間拿到PHP中文網(wǎng)<br />';

$xuexi = '學(xué)習(xí)PHP<br />';

//我們可以把字符串全部拼接起來。
echo $shixi . $buran . $mimang . $xuexi;

?>
因此,剛剛的問題一的代碼我們可以改為:
<?php
$php = 'PHP中文網(wǎng)';
//中間加了空格喲
$str = $php . 'aaaa';

echo $str;
?>

8. 我們將定界符聲明字符串視為雙引號(hào)一樣的功能來看待。

<?php

$weilai = '努力才有未來';
$mimang = '迷茫的原因是沒有目標(biāo)';

$dingjie = <<<ABC
  如果
           $weilai
       非要\t在這"個(gè)滾"犢子
   前
           '$mimang'
       面<br />
      加上\n一段
   <i>距離的話</i>
   我想說:<h1>思想有多遠(yuǎn),你就跟我滾多遠(yuǎn)</h1>
ABC;

echo $dingjie;
?>

你可以執(zhí)行發(fā)現(xiàn)$weilai,$mimang,tn都可以執(zhí)行,雙引號(hào)單引號(hào)都能顯示。這就是定界符的特點(diǎn)。

再聲明一次:字符串的聲明每一項(xiàng)都必須記住,非常常用。并且面試題出現(xiàn)的概率非常高!


不可見字符:主要是計(jì)算機(jī)規(guī)定的一些特殊符號(hào)。例如:回車(n)、縮進(jìn)(t)等。

雙引號(hào)執(zhí)行變量,所以


繼續(xù)學(xué)習(xí)
||
<?php //聲明字符串變量$zhifu $zhifu = '曾經(jīng)有操蛋的愛情擺在我面前,我珍惜了。當(dāng)我得到的時(shí)候才感到后悔莫及。如果非要在這段愛情前面加上一段三個(gè)字,我愿意說三個(gè)字:滾犢子'; //你可以放XAMPP指定的目錄下,新建一個(gè)文件叫str.php。然后訪問一下http://127.0.0.1/str.php試試。會(huì)不會(huì)顯示這句話。 echo $zhifu; ?>
提交重置代碼