萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php中單雙引號的區別

php中單雙引號的區別

   ” ” 雙引號裡面的字段會經過編譯器解釋,然後再當作HTML代碼輸出。

  ‘ ‘ 單引號裡面的不進行解釋,直接輸出。

  從字面意思上就可以看出,單引號比雙引號要快了。

  例如:

  $abc=’my name is tome’;

  echo $abc //結果是:my name is tom

  echo ‘$abc’ //結果是

  abc

  echo “$abc” //結果是:my name is tom

  特別在使用MYSQL語句的時候,雙引號和單引號的用法讓新手不知所措,在這裡,舉個例子,來進行說明。

  假設查詢條件中使用的是常量,例如:

  select * from abc_table where user_name=’abc’;

  SQL語句可以寫成:

  SQLstr = “select * from abc_table where user _name= ‘abc’” ;

  假設查詢條件中使用的是變量,例如:

  $user_name = $_REQUEST['user_name']; //字符串變量

  或

  $user=array (”name”=> $_REQUEST['user_name‘,"age"=>$_REQUEST['age'];//數組變量

  SQL語句就可以寫成:

  SQLstr = “select * from abc_table where user_name = ‘ ” . $user_name . ” ‘ “;

  SQLstr = “select * from abc_table where user_name = ‘ ” . $user["name"] . ” ‘ “;

  對比一下:

  SQLstr=”select * from abc_table where user_name = ‘ abc ‘ ” ;

  SQLstr=”select * from abc_table where user_name =’ ” . $user _name . ” ‘ “;

  SQLstr=”select * from abc_table where user_name =’ ” . $user["name"] . ” ‘ “;

  SQLstr可以分解為以下3個部分:

  1:”select * from table where user_name = ‘ ” //固定SQL語句

  2:$user //變量

  3:” ‘ ”

  1,2,3部分字符串之間用”.” 來連接

  ====

  一.首先想想PHP裡所有的單詞(其實應該叫符號)有幾類.

  1.PHP,mysql兩方的關鍵詞與函數.例如echo,print,mysql_connect等等.這些肯定不加引號的.

  2.常量.新手可能用得不多,常量的好處是全局性,穿透函數.速度也快些不過新手可以暫時不管常量這玩意兒.

  3.變量.前面帶"$"號的就是變量.可以為變量設一個"值",例如一串字符,一個數字,邏輯(真/假)值等.也可以表示一組值(數組,對象等)

  4.值.通常要給常量與變量設置值.賦值語句$a='abc'中,右邊的'abc'即為值.

  5.函數的參數(在括號裡的).可以是常量,變量,值三種.

  變量(常量)與值的關系正如下列各種情況.

  "顏色"與"紅",

  "長度"與100,

  "日期"與2007年10月25號"

  二.什麼情況下用PHP引號

  其實只有第4項"值"需要用到引號,函數的裡也只有值要用引號.並且只有字符串(日期值可以當成字符串)內容需要用到引號.數字(可用可不用),真假(不能用)例外.

  例子

  三.單引號與雙引號的區別

  一般情況下兩者是通用的.但雙引號內部變量會解析,單引號則不解析.

  例子

  所以如果內部只有純字符串的時候,用單引號(速度快),內部有別的東西(如變量)的時候,用雙號引更好點.

  四.字符串內部如果出現PHP引號怎麼辦--關於轉義.

  比如我們想輸出: 我"是'天才

  這時候就必須用到轉義了.轉義即把本來有作用的符號轉成無意義的字符.

  這樣就正常了,因為號把它後面的任何字符都轉成無意義的符號.在這裡來說,PHP解析器根本沒把號後面的引號當成引號來看待.

  同樣的,還可以轉義分號,$符號等特殊符號.

  五.字符串的連接.

  這是個麻煩的問題.一般來說,變量值,直接包含在雙引號中就可以了.另外字符串的疊加用"."字符.

  在復雜的情況裡可以用大括號來包含,PHP便知道這是一個完整的東西,裡面的引號不會影響到外面的引號關系.

  與html的混合也很簡單,最好養成HTML中全部用雙引號,PHP中盡量用單引號的習慣.這樣方便把大段的HTML代碼復制過來,只要頭尾加上單引號就是一個正確的字符串了.幾百行的HTML代碼也不用擔心PHP引號錯亂.

  總結一下PHP引號使用原則

  1.字符串的值用引號

  2.PHP中盡量用單引號,HTML代碼全部用雙引號

  3.在包含變量的時候,用雙引號可以簡化操作

  4.復雜的情況下用大括號包起來

copyright © 萬盛學電腦網 all rights reserved