第七課:輸出字符串

第七課:輸出字符串

第七課:輸出字符串



  上節課有會員提到能不能在PHP中契入HTML代碼,有的問到能不能契入JavaScript代碼的問題,問得好,多實踐多思考就會有各種各樣疑問,我們的水平就是在不斷解決這些疑問的過程中得到提高。回答當然是肯定的,要不然PHP早被罵死了。我們用PHP最終的目的就是要輸出我們想要的東西到網頁中,但如果你不知道一些方法和技巧也會頭痛的。所以這節課我會告訴大家利用PHP輸出字符串的問題。

字符串的定義:

字符串可以用三種字面上的方法定義。
  • 單引號
  • 雙引號
  • 定界符
  1.  
  •  
指定一個簡單字符串的最簡單的方法是用單引號(字符 ')括起來。

1.直接輸出字符:

例如7-1: echo '我是PHP中文社區的學員';

2.輸出變量

例如7-2:$str = '我是PHP中文社區的學員';   echo $str;

3.使用轉義符:

  我們知道,用單引號定義字符串,那麼如果我們的字符串中剛好也有單引號豈不要引起PHP混亂嗎?這種情況要怎麼解決呢?

這就要在它的前面使用轉義符號“/”。例如7-3:
 
<?php
echo '我是'PHP中文社區'的學員<br>';
 
$str = '我是'PHP中文社區'的學員<br>';
 
echo $str;
 
echo '<script language=javascript>window.alert('PHP中文社區網址是www.phpNet.cn')</script>';
?>
呵呵,看到了吧,上面的代碼還會輸出HTML代碼和JavaScript代碼。<br>是HTML中的換行標記。

提個問題:要用echo輸出路徑 C:/windows/system32 怎麼做?你試試看。

4.使用雙引號

雙引號也能定義字符串,那麼和單引號有什麼區別嗎?看例子7-4:

$url = 'www.phpNet.cn';

echo "PHP中文社區的網址是$url";

結果會輸出:PHP中文社區的網址是www.phpNet.cn

用雙引號定義的字符串,其中的變量會被變量的值替換,你把上面的雙引號換成單引號試試看。

另外,如果用雙引號(")括起字符串,PHP 懂得更多特殊字符的轉義序列:


表格 7-1. 轉義字符
/n 換行(LF 或 ASCII 字符 0x0A(10))
/r 回車(CR 或 ASCII 字符 0x0D(13))
/t 水平製表符(HT 或 ASCII 字符 0x09(9))
// 反斜線
/$ 美元符號
/" 雙引號
/[0-7]{1,3} 此正則表達式序列匹配一個用八進制符號表示的字符
/x[0-9A-Fa-f]{1,2} 此正則表達式序列匹配一個用十六進制符號表示的字符

單就處理字符串而言,使用單引號要比使用雙引號速度要快,所以你要在你的程序中選擇適當的引號。


5.連接字符串

半角句號“.”是字符串連接符,可以把兩個字符串連接成一個字符串。例如7-5:

<?php
$str = 'PHP中文社區地址是';
 
$url = 'www.phpNet.cn';
 
$txt = $str.$url;
 
echo $txt.'<br>';
 
echo $str.$url;
?>

技巧:我們可以使用字符串連接符累加字串。例如7-6:

 

<?php
$str = 'PHP中文社區地址是';
 
$str .= 'www.phpNet.cn';
 
echo $str;
?>


運行後輸出:PHP中文社區地址是www.phpNet.cn


  第一句我們給$str賦值,$str表示字串"PHP中文社區地址是",第二句表示在$str的值上累加字串"www.phpNet.cn",所以,$str最後表示字串"PHP中文社區地址是www.phpNet.cn"。


你知道以下代碼運行後將會輸出什麼嗎:$add="中國";   $add.="北京";   $add.="奧運會";   echo $add;

6.使用定界符

  如果我們有大段大段的HTML代碼或JS代碼要輸出有沒有更好的辦法呢?有,使用定界語法(“<<<”)。例如7-7:

定界符字符串例子

<?php
$url = 'www.phpNet.cn';
 
$str = <<<EOD
......
我已經記住了PHP中文社區的網址是
$url.
......
EOD;
 
echo $str;
 
?>
定界符中的變量會被解析,比如其中的$url會被它的值www.phpNet.cn替換。

  包含在<<<EOD和EOD中的部分被定義爲字符串。定界標識符可以自己定義,但必須遵循 PHP 中其它任何標籤的命名規則:只能包含字母數字下劃線,而且必須以下劃線或非數字字符開始。結束標識符必須從行的第一列開始。比如上面的EOD你也可以換成EOF。

7.使用花括號


  如果遇到這種情況,你認爲PHP會作怎樣處理呢?

  $num=3;
  echo '你知道這個廠家提供幾A服務嗎?';
  echo "經查詢,這個廠家提供$numA服務";

  運行這段程序,你認爲會輸出什麼呢?是的,會出現錯誤。爲什麼$num不能被它的值3替換呢?這是因爲PHP會盡最大限度的匹配變量名,它把$numA作爲變量而不是$num,而$numA又沒有賦值,所以會出現錯誤。那麼怎樣處理才能輸出我們想要的結果呢?使用花括號{}。寫成如下形式:

  echo "經查詢,這個廠家提供{$num}A服務";

  echo "經查詢,這個廠家提供${num}A服務";


  好了,這課的內容已經夠多的了,你不親自動手操作,不反覆實踐是記不住的。這些東西在編程中往往會給你帶來麻煩。多多練習吧,有什麼問題就在此跟貼提出。
發佈了7 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章