我想大家都知道單引號跟雙引號在 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 語法分行寫 因為你觀念還不懂 很容易出錯
等你熟一點在嘗試分行 分行的寫法也有很多種 這邊就不多說了
這是個人的一點小小心得 希望對初學者有幫助
高手就請多多指教了 也許你有更好的方法
如果可以也請你分享給大家
原出處 : https://www.ptt.cc/bbs/PHP/M.1141277549.A.A95.html
sonicjr (平凡中的不平凡)
沒有留言:
張貼留言