[心得] PHP裡單引號('')跟雙引號("")的差別
我想大家都知道單引號跟雙引號在 php 裡是包住字串用的
但很少人注意到他的差別 只是依個人習慣去使用
其實它們是不太一樣的
例子:
$num = 1;
echo '$num'; //會輸出 $num
echo "$num"; //會輸出 1
echo '"$num"'; //會輸出 "$num"
echo "'$num'"; //會輸出 '1'
這樣可以看出分別了嗎?
單引號會把裡面的內容完全當字串輸出
雙引號如果遇到$開頭的變數會去解析變數
如果在雙引號裡要在用雙引號 必需要用 \ 去跳脫 (單引號亦然)
例如:
$text = "今天 \"天氣\" 很好";
但如果單雙引號搭配使用
$text = '今天 "天氣" 很好';
雙引號裡可以包單引號 當然單引號裡也可以包雙引號
完全依你當時的情況去使用
php 單雙引號都可以接受 但 SQL 語法字串只接受單引號 不接受雙引號的
通常最容易出問題的地方是 SQL 語法的部份
所以 SQL 語法的部份單雙引號的配合就變的很重要
我個人是習慣這樣用
$sql = "select * from member where name = '".$name."' and pw = '".$pw."'";
我的寫法是 讓字串歸字串 變數歸變數
SQL 語法字串只接受單引號 所以我就用雙引號去包 才不用去加 \
新手不建議把 SQL 語法分行寫 因為你觀念還不懂 很容易出錯
等你熟一點在嘗試分行 分行的寫法也有很多種 這邊就不多說了
這是個人的一點小小心得 希望對初學者有幫助
高手就請多多指教了 也許你有更好的方法
如果可以也請你分享給大家
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.75.99.18
推
03/02 15:09, , 1F
03/02 15:09, 1F
推
03/04 22:53, , 2F
03/04 22:53, 2F
→
03/04 22:54, , 3F
03/04 22:54, 3F
→
03/04 22:55, , 4F
03/04 22:55, 4F
→
03/04 22:56, , 5F
03/04 22:56, 5F
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 5 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章