PHP 單雙引號的區別

2021-08-07 16:39:14 字數 2269 閱讀 5468

<?php

/*php輸出有單引號的字串可以放在雙引號裡面,輸出有雙引號的字串可以放在單引號裡面*/

//這個字串的中間有單引號(')

echo

"這個字串的中間有單引號(')";

echo"";

echo"";

//這個字串的中間有雙引號(")

echo

'這個字串的中間有雙引號(")';

echo"";

echo"";

$str1 = "hello";

echo

$str1, '

';//hello

$str2 = "hello,'jack' ";

echo

$str2;//hello,'jack'

echo"";

echo"";

// 再看單引號

$str1 = 'hello';

echo

$str1, '

';//hello

$str2 = 'hello ,"jack" ';

echo

$str2;//hello ,"jack"

echo"";

echo"";

/*轉義:

用雙引號,來宣告字串的時候, 內部不能再出現雙引號,

因為,雙引號被當成字串的"邊界"來對待, 因此,內部出現雙引號,就引起了解釋上的歧義.

這時,可以用轉義字元, 即,用\" 轉義 來表示 "

還有沒有其他的轉義字元呢?

像: \", 被用來當成 " 理解了.

那我要是確實想表示 反斜線\, 又怎麼辦呢?,

答: 用\\, 表示 反斜線\

還有沒有其他的轉義字元呢?

答:有\n, \r, \$,等

\n 轉義成 換行符

\r 轉義成 回車符

*/$str2 = "hello ,\"jack\",

";echo

$str2; //hello ,"jack",

$str3 = "hello \\";

echo

$str3,'

'; //hello \

$str4 = "hello\n\r\n\r\n\rworld";

echo

$str4,'

'; //hello world

$str5 = "hello $str3"; //雙引號認識變數標識$

echo

$str5,'

'; // hello hello \ , 即把$str3當變數給解析出來

$str6 = "world \$str3"; //此處斜槓將$失去了變數標識的意義

echo

$str6;//world $str3

//此處 \$被轉成了普通字串$,而不再理解為變數標誌.

echo"";

echo"";

$age = 29;

$str1 = 'hello \n\r \t $age';//單引號不認識變數標識$、\n\r \t等

$str2 = "hello \n\r \t $age";

echo

$str1,'

',$str2;

//hello \n\r \t $age

//hello 29

/**1:單雙引號定義字串有何區別?

轉義上的區別:

單引號,系統不做複雜的轉義, 只轉義\',\\, 其他的---一律原樣輸出.

雙引號,則轉義的比較多,\",\\,\r,\n,\t,\$等.

對於變數解釋的區別:

單引號,不對字串的$作變數名解析,

而雙引號,會試著$理解成變數名,來解析.

*//**

2:單雙引號定義字串,哪個速度更快一些?

答:單引號解析的更快,因為不需要進行過多的轉義和變數解析

問:什麼時間選用單/雙引號呢?

答:大段文字,比如新聞標題,文字內容,自我介紹等這樣大段話, 用',解析快.

但有時候,確實需要在一段字串夾雜變數, 比如拼湊sql語句時

$id = 5;

$sql = "select * from user where id = $id";

如果此時用單引,則語句成為了 ..id= $id,sql就出錯了.

此時,用雙引合適. 解析$id,語句解析成 ..id = 5;

*/?>

參考:php字串中的雙引號與單引號區別

PHP 單雙引號的區別

php中單雙引號的區別 雙引號裡面的字段會經過編譯器解釋,然後再當作html 輸出。單引號裡面的不進行解釋,直接輸出。所以在效率上 單引號比雙引號要快了。例如 abc my name is tome echo abc 結果是 my name is tom echo abc 結果是 abc echo ...

php 單雙引號的區別

單雙引號的區別在開發過程中建議使用單引號,解析效率更快。雙引號字串一般用雙引號或單引號包裹。字串的拼接使用 username jack chinesename 張三 echo his name is username his name is jack echo 他的名字是 chinesename他今...

C 單雙引號區別

贏家只關注怎麼贏,輸家只關注贏家在幹嘛 自己從 python 轉 c 乙個很嚴重的問題是搞不清引號怎麼用。在 python 中,單雙引號無所謂,隨便用,只要別混用就好。但是 c 明顯不同,剛好今天做 leetcode 時結結實實踩了乙個坑,所以記錄在這邊。今天遇到的問題是類似這樣的 string s...